ModuleConfig

类型

1export declare enum PathType {
2    npm = "npm:",
3    root = "root:"
4}
5export interface ModuleConfig {
6    /**
7     * 对外导出的文件
8     * 必须以 npm: 或 root: 开头
9     * npm:开头代表 node_modules 的依赖
10     * root:开头代表项目内root目录下的文件
11     * 例如:
12     *   npm:vue
13     *   root:src/routes
14     *   root:src/[filename]
15     */
16    exports?: string[];
17    /**
18     * 导入的模块基本配置
19     */
20    imports?: Record<string, string>;
21    /**
22     * 设置项目的外部依赖
23     * 例如:
24     * {
25     *  "vue": "ssr-npm/vue"
26     * }
27     */
28    externals?: Record<string, string>;
29}
30export interface ParsedModuleConfig {
31    /**
32     * 当前的服务名字
33     */
34    name: string;
35    /**
36     * 当前服务运行的根目录
37     */
38    root: string;
39    /**
40     * 对外导出的文件
41     */
42    exports: {
43        /**
44         * npm:*
45         * root:src/*
46         * root:src/routes/index.ts
47         */
48        name: string;
49        /**
50         * 路径的类型
51         */
52        type: PathType;
53        /**
54         * ssr-demo/npm/vue
55         * ssr-demo/src/routes
56         * ssr-demo/src/routes/index
57         */
58        importName: string;
59        /**
60         * ./npm/vue
61         * ./src/routes
62         */
63        exportName: string;
64        /**
65         * vue
66         * ./src/routes.ts
67         */
68        exportPath: string;
69        /**
70         * vue
71         * ssr-demo/src/routes/index
72         */
73        externalName: string;
74    }[];
75    /**
76     * 导入的外部服务
77     */
78    imports: {
79        /**
80         * 外部服务名称
81         */
82        name: string;
83        /**
84         * 本地路径
85         * 用于读取依赖 和 存放远程下载的依赖
86         */
87        localPath: string;
88    }[];
89    /**
90     * 外部依赖
91     */
92    externals: Record<string, {
93        match: RegExp;
94        import?: string;
95    }>;
96}
97/**
98 * 解析模块配置
99 * @param name 当前运行服务的名字
100 * @param root 当前运行服务的根路径
101 * @param config 模块的配置
102 * @returns
103 */
104export declare function parseModuleConfig(name: string, root: string, config?: ModuleConfig): ParsedModuleConfig;
ON THIS PAGE