两种构建npm方式是什么?

2015-05-09
0 浏览
0 评论
闻道君

从 1.03.2006302 (或 1.03.2006302) 开始,我们提供了两种构建 npm 的方式:

默认的构建 npm 方式

默认情况下,在 miniprogramRoot 内正确配置了 package.json 并执行 npm install 之后,其构建 npm 的结果是,为每一个 package.json 对应的 node_modules 构建一份 miniprogram_npm,并放置在对应 package.json 所在目录的子目录中。参考 demo

构建 npm 前

├── miniprogram

│ ├── app.js

│ ├── app.json

│ ├── app.wxss

│ ├── index

│ │ ├── 略

│ ├── node_modules // 可被默认方式构建 npm,因为它在 miniprogramRoot 内

│ ├── package.json

│ └── sub_package

│ ├── node_modules // 可被默认方式构建 npm,因为它在 miniprogramRoot 内

│ ├── package.json

│ └── sub_package_page

├── node_modules // 不被默认方式构建 npm,因为它不在 miniprogramRoot 内

├── package.json

└── project.config.json // 其中存在配置 `"miniprogramRoot": "./miniprogram"`

构建 npm 后

├── miniprogram

│ ├── app.js

│ ├── app.json

│ ├── app.wxss

│ ├── index

│ │ ├── 略

│ ├── miniprogram_npm

│ ├── node_modules // 可被默认方式构建 npm,因为它在 miniprogramRoot 内 --> 同级的 miniprogram_npm 是这份 node_modules 的构建结果

│ ├── package.json

│ └── sub_package

│ ├── miniprogram_npm

│ ├── node_modules // 可被默认方式构建 npm,因为它在 miniprogramRoot 内 --> 同级的 miniprogram_npm 是这份 node_modules 的构建结果

│ ├── package.json

│ └── sub_package_page

├── node_modules // 不被默认方式构建 npm,因为它不在 miniprogramRoot 内 --> 它并没有对应的 miniprogram_npm 生成

├── package.json

└── project.config.json // 其中存在配置 `"miniprogramRoot": "./miniprogram"`

自定义 node_modules 和 miniprogram_npm 位置的构建 npm 方式

与 “默认的构建 npm 方式” 不一样,此种方式需要开发者在 project.config.json 中指定 mode_modules 的位置 和目标 miniprogram_npm 的位置。参考demo

使用方法

配置 project.config.json 的 setting.packNpmManually 为 true,开启自定义 node_modules 和 miniprogram_npm 位置的构建 npm 方式

配置 project.config.json 的 setting.packNpmRelationList 项,指定 packageJsonPath 和 miniprogramNpmDistDir 的位置

其中 packNpmRelationList 的格式为

packageNpmRelationList: Array

"packageJsonPath": string,

"miniprogramNpmDistDir": string

}>

packageJsonPath 表示 node_modules 源对应的 package.json

miniprogramNpmDistDir 表示 node_modules 的构建结果目标位置

构建 npm 前

.

├── miniprogram

│ ├── app.js

│ ├── app.json

│ ├── app.wxss

│ ├── index

│ ├── sitemap.json

│ └── sub_package

│ └── sub_package_page

├── project.config.json

├── src_node_modules_1

│ ├── node_modules

│ └── package.json

└── src_node_modules_2

├── node_modules

└── package.json

其中 project.config.json 存在配置

"setting": {

"packNpmManually": true,

"packNpmRelationList": [

{

"packageJsonPath": "./src_node_modules_1/package.json",

"miniprogramNpmDistDir": "./miniprogram/"

},

{

"packageJsonPath": "./src_node_modules_2/package.json",

"miniprogramNpmDistDir": "./miniprogram/sub_package"

}

]

}

构建 npm 后

.

├── miniprogram

│ ├── app.js

│ ├── app.json

│ ├── app.wxss

│ ├── index

│ ├── miniprogram_npm // 由 src_node_modules_1/node_modules 构建得到

│ ├── sitemap.json

│ └── sub_package

│ ├── miniprogram_npm // 由 src_node_modules_2/node_modules 构建得到

│ └── sub_package_page

├── project.config.json

├── src_node_modules_1

│ ├── node_modules

│ └── package.json

└── src_node_modules_2

├── node_modules

└── package.json

****更多行业产品开发方案,请关注 加速度****

<以上资讯仅供参考,如需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询获取产品开发方案和报价>

微信客服二维码

加客服微信获取更多内容