neo-cmp-cli 1.7.3 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/package.json +1 -1
- package/src/template/antd-custom-cmp-template/package.json +1 -1
- package/src/template/echarts-custom-cmp-template/package.json +1 -1
- package/src/template/empty-custom-cmp-template/package.json +1 -1
- package/src/template/neo-custom-cmp-template/package.json +1 -1
- package/src/template/react-custom-cmp-template/package.json +1 -1
- package/src/template/react-ts-custom-cmp-template/package.json +1 -1
- package/src/template/vue2-custom-cmp-template/package.json +1 -1
- package/src/utils/cmpUtils/createCmpByZip.js +6 -0
package/README.md
CHANGED
|
@@ -470,29 +470,29 @@ module.exports = {
|
|
|
470
470
|
|
|
471
471
|
### 11) 自定义组件之间实现模块共享
|
|
472
472
|
|
|
473
|
-
步骤1:在自定义组件A(
|
|
473
|
+
步骤1:在自定义组件A(customCmpA)/ 配置文件中定义要共享出来的模块A(xxModuleA)
|
|
474
474
|
```javascript
|
|
475
475
|
module.exports = {
|
|
476
476
|
neoCommonModule: {
|
|
477
477
|
// exports: ['xxModule'], // 数组写法,用于导出当前自定义组件中的第三方依赖模块
|
|
478
|
-
exports: { '
|
|
478
|
+
exports: { 'xxModuleA': path.resolve('./src/components/xxModuleA') }, // 对象写法,可用于导出自定义组件中的某个内容模块(需要使用绝对路径导出)
|
|
479
479
|
},
|
|
480
480
|
}
|
|
481
481
|
```
|
|
482
482
|
|
|
483
|
-
步骤2:在自定义组件B(
|
|
483
|
+
步骤2:在自定义组件B(customCmpB)/ 配置文件中 声明需要使用 自定义组件 A 分享出来的模块(xxModule_A)
|
|
484
484
|
```javascript
|
|
485
485
|
module.exports = {
|
|
486
486
|
neoCommonModule: {
|
|
487
|
-
remoteDeps: ['
|
|
488
|
-
externals: ['
|
|
487
|
+
remoteDeps: ['customCmpA'], // 远程依赖(自定义组件),表示当前自定义组件 B 会用到哪些自定义组件
|
|
488
|
+
externals: ['xxModuleA'], // 自定义组件中需要剔除的外部模块(远程自定义组件中分享出来的模块),仅支持数组写法,需要和 remoteDeps 配合使用
|
|
489
489
|
},
|
|
490
490
|
}
|
|
491
491
|
```
|
|
492
492
|
|
|
493
|
-
步骤3:在自定义组件B
|
|
493
|
+
步骤3:在自定义组件B 中使用 自定义组件 A 分享出来的模块(xxModuleA)
|
|
494
494
|
```javascript
|
|
495
|
-
import
|
|
495
|
+
import xxModuleA from 'xxModuleA'; // 导入自定义组件 A 共享出来的模块
|
|
496
496
|
```
|
|
497
497
|
|
|
498
498
|
|
package/package.json
CHANGED
|
@@ -113,6 +113,12 @@ function formatConfigObject(obj, indent = 0, fileDir = '') {
|
|
|
113
113
|
* @param {*} cmpZipUrl 自定义组件源码文件地址(zip包地址)
|
|
114
114
|
* @param {*} cmpName 自定义组件名称
|
|
115
115
|
* @param {*} componentBaseDir 自定义组件目录
|
|
116
|
+
*
|
|
117
|
+
* 拉取线上自定义组件源码 规则:
|
|
118
|
+
* 1、对于 组件源码中 src/components 中的所有文件 copy 至 当前项目 src/components,非覆盖式(copy 前判断是否存在);
|
|
119
|
+
* 2、对于 组件源码中的 配置文件(neo.config.js)内容 和 当前项目配置 进行 非覆盖式 merge 处理;
|
|
120
|
+
* 3、对于 组件源码中的 tsconfig.json 文件内容 和 当前项目 tsconfig 进行 非覆盖式 merge 处理;
|
|
121
|
+
* 4、对于 组件源码中的 package.json 文件内容 和 当前项目 package.json 进行 非覆盖式 merge 处理,并识别新增 依赖,提示用户 重新安装依赖
|
|
116
122
|
*/
|
|
117
123
|
module.exports = async function (cmpZipUrl, cmpName, componentBaseDir = './src/components') {
|
|
118
124
|
const finalCmpName = cmpName;
|