gpt4 book ai didi

gulp - 复制node_modules时如何省略devDependencies?

转载 作者:行者123 更新时间:2023-12-03 14:50:33 26 4
gpt4 key购买 nike

我只想复制对应用程序很重要的模块 - 位于 dependencies 中的模块在 package.json .我想省略 devDependencies 下的那些.
package.json

{            
"dependencies": {
"express": "^4.13.4",
"log4js": "^0.6.33"
},
"devDependencies": {
"gulp": "^3.9.1",
"gulp-rename": "^1.2.2",
"gulp-typescript": "^2.12.1",
"typings": "^0.7.9",
"yargs": "^4.3.2"
}
}
gulpfile.js
gulp.task('copy_packages', function() {
gulp
.src('node_modules/**/*.*')
.pipe(gulp.dest('../release/node_modules'));
});

有没有什么模块或者聪明的方法来区分哪些模块属于 dependencies组和 devDependencies ?

最佳答案

有同样的问题......感觉很奇怪这在创建 gulp 时没有考虑。
我的工作是使用 child_process 运行 npm install 并指定一个目录来放置 node_modules 目录,其中仅包含应用程序所需的包。

例如:
gulp.task('createDeployNodeModulesFolder', function(cb) {
spawn('"npm"', ['install', '--prefix', './dist/', 'package1', 'package2'], {stdio: 'inherit', shell: true}, function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
})
.on('close', cb);
});

在您的情况下,您只需要生产依赖项,因此您可以使用:
npm install --prefix/deployDir/--only=prod

会有一些警告提示没有 package.json..etc.,但这些只是警告。如果你真的想摆脱它们,我想你可以在运行 npm install 之前添加一个任务来复制或创建一个 package.json 到部署目录中。

关于gulp - 复制node_modules时如何省略devDependencies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com