有没有办法指定多个来源 - >使用grunt中的browserify将jsx文件转换为js文件时的目标映射?
我在Gruntfile.js中有以下内容支持单个文件转换,但我希望能够为另一个文件指定第二个映射。我知道我可以将基于通配符的地图映射到单个组合目标文件中。然而,这不是我想要的,因为我不想要一个"全有或全无"在我的各个页面上包含反应组件。有些组件仅适用于几页,不应包含在任何地方。
browserify: {
options: {
transform: [ require('grunt-react').browserify ]
},
//How do I map a second file here without a wild card?
client: {
src: ['react_components/src/component1.jsx'],
dest: 'react_components/build/component1.js'
}
}
基本上我希望的是一种在同一任务中提供src-dest映射数组的方法,以便创建多个目标文件:
client: [{
src: ['react_components/src/component1.jsx'],
dest: 'react_components/build/component1.js'
}]
像上面的json
答案 0 :(得分:2)
至于我,我不使用browserify,我使用grunt-react和react-tools。 grunt react允许用户根据正则表达式定义dynamic_mappings,如下所示:
//Gruntfile.js
grunt.initConfig({
react: {
dynamic_mappings: {
files: [
/* Controllers compiling. */
{
expand: true,
cwd: './app/scripts/controllers/src',
src: ['**/*.jsx'],
dest: './app/scripts/controllers/dest',
ext: '.js'
},
/* ui-components compiling */
{
expand: true,
cwd: './app/scripts/ui-components/src',
src: ['**/**.jsx'],
dest: './app/scripts/ui-components/dest',
ext: '.js'
},
/* JSX test compiling */
{
expand: true,
cwd: './test/ui-components/src',
src: ['**/**.jsx'],
dest: './test/ui-components/dest',
ext: '.test.js'
}
]
}
}
});