【发布时间】:2017-03-10 00:05:06
【问题描述】:
我一直在使用 npm 脚本为前端开发人员开发构建系统,并且在 package.json 的 scripts 部分中定义了几个任务。其中包括典型任务,例如:缩小 css、代码 linting、生成文档、转译 JavaScript……等等。
定义的所有脚本任务通过 CLI 执行命令来达到预期的结果,例如$ npm run build、$ npm run docs、$ npm run watch...
为了测试在全新安装所需的节点包后可以成功复制构建系统,我这样做:
- 复制项目目录。
- 从复制的项目目录中删除
node_modules文件夹。 - 通过
$ npm install在重复的项目目录中执行全新安装。
正如预期的那样,这会根据package.json 的devDependencies 部分中列出的那些下载所需的节点包。
但是,在运行新的npm install 之后,一些定义的脚本任务(例如:$ npm run watch)不再能从受骗项目中成功运行。
进一步调查显示,没有。重复项目目录的“node_modules”文件夹中列出的顶级包(即全新安装后的那个)比任务成功运行的原始项目目录少了大约 30 个。缺少的所有软件包似乎都是我安装的软件包所依赖的子依赖项。
此外,当通过 CLI 运行 $ npm list 时,在原始项目目录和复制的项目目录(即全新安装的目录)中列出的包不同。
所以,我现在处于无法共享项目目录的位置,除非包含 node_modules 文件夹(及其内容)。理想情况下,我想与其他开发人员共享样板代码,他们只需将 cd 到项目目录并自己运行 $ npm install。
对于如何解决此问题的任何建议,我将不胜感激。这不是我以前遇到过的。
提前致谢。
【问题讨论】:
标签: npm npm-install package.json npm-scripts