我使用 grunt-urequire 插件将我的项目1的模块编译成单个文件(让我们称之为 project-1.js
)。配置如下:
urequire: {
umd: {
template: 'UMD',
path: 'src',
dstPath: 'dist/umd'
},
dev: {
template: 'combined',
path: 'src',
main: 'Main',
dstPath: 'dist/<%= pkg.name %>-<%= pkg.version %>.js'
},
min: {
derive: ['dev', '_defaults'],
dstPath: 'dist/<%= pkg.name %>-<%= pkg.version %>.min.js',
optimize: 'uglify2'
},
_defaults: {
useStrict: true,
noConflict: true,
bundle: {
dependencies: {
exports: {
root: {
'Main': 'Project1'
}
}
}
}
}
}
项目1依赖于项目2,后者也由grunt-urequire管理。在package.json
中:
"devDependencies": {
"project2": "^0.1",
...
}
现在我想在构建时将项目2的依赖嵌入到项目1中,这样就可以只执行以下操作。
<script src="project-1.js"></script>
在浏览器中,不需要手动包含project-2。
我知道browserify支持这一点,但我能否使用urequire实现呢?