我正在尝试使用现代方法来构建没有Grunt或Gulp的javascript应用程序。我只是使用scripts
中的package.json
关键字来创建构建实用程序。
效果很好,但我遇到了挑战。是否有一种很好的方法可以创建单独的vendor.js
和app.js
包而不在browserify命令中显示每个依赖项(或者将deps列表传递给browserify命令)?
好于:
"dependencies": {
"react": "latest",
"react-dom": "latest",
"redux": "latest",
"d3": "latest"
},
"devDependencies": {
"browserify": "latest"
},
"scripts": {
"vendor": "browserify -r react -r react-dom -r redux -r d3 > vendor.js",
"app": "browserify -x react -x react-dom -x redux -x d3 ./app/main.js > app.js"
}
最好,我会回收dependencies
关键字中存储的信息。显然,我不希望我的代码中没有使用bundle devDependencies
或依赖项(即使后者可以通过良好维护需求来防止)。
答案 0 :(得分:1)
是的,有可能。无论解决方案是否非常优雅,我都会由您决定。基本上它归结为类似以下内容(不完整,浏览器尚未调用)的片段:
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
init脚本用于提取依赖项。供应商脚本调用此脚本,并将其转换为browserify的输入参数。
注1:我正在使用jq从依赖关系树中提取信息。 注2:参数列表的构造也可以在init脚本中完成。您必须提供一个环境变量来区分-r或-x选项。