在package.json中(假设它是在脚本文件夹中定义的(我定义了这样的脚本:
"scripts": {
"install:prod": "npm i"
}
如果我从脚本文件夹运行此脚本,则一切正确,仅创建node_modules.但是当我从父文件夹运行脚本时,我收到奇怪的输出。例如,当我跑步时:
npm run install:prod --prefix ./WebApp/Scripts
etc 文件夹和许多来自node_modules的文件命令放在脚本文件夹中
Mode Length Name
d----- etc
d----- node_modules
d----- src
------ 123 .babelrc
-a---- 321 acorn
-a---- 198 acorn.cmd
-a---- 337 ansi-html
-a---- 214 ansi-html.cmd
-a---- 323 atob
-a---- 200 atob.cmd
-a---- 329 browserslist
-a---- 206 browserslist.cmd
-a---- 325 cssesc
... and much more
是期望的行为吗?如何在没有 etc 和其他不必要的(对我来说(文件的情况下从父文件夹构建node_modules,就像运行正常的 npm 安装一样
生产构建脚本在另一台服务器上运行,因此所有 npm 脚本都被阻止。将网络路径更改为物理路径(命令:pushd \serverpath
(后,我们能够更改目录并自由运行npm。 cd Scripts && npm run install
做了这项工作。