两种构建npm方式是什么?

  从 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


【本站声明】
  1、本站文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系。
  2、本网站不对文章中所涉及的内容真实性、准确性、可靠性负责,仅系客观性描述,如您需要了解该类商品/服务详细的资讯,请您直接与该类商品/服务的提供者联系。


KESION 科汛软件

KESION 科汛软件是国内领先的在线教育软件及私域社交电商软件服务提供商,长期专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。
公司核心产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化独立部署品牌网校和在线教育咨询等。

KESION 不断通过技术创新,提供产品和服务,助力企业向数字化转型,通过科技驱动商业革新,让商业变得更智慧!



▼点击进入科汛官网了解更多



热门标签
上/下篇
  • observer数据监听器小程序开发说明

  • npm是什么意思-npm小程序开发操作教程

换一换相关推荐
  • 暂无相关信息!
  • 精选内容
    热点精选