【发布时间】:2015-10-12 05:16:19
【问题描述】:
我遇到了一个奇怪的问题,需要你的帮助来弄清楚发生了什么。
我已经配置 gulp 来构建我在 ES6 中用 React.js 编写的测试。我使用browserify 设置CommonJS env 和babelify 以获得更大的ES6 支持。一切正常,如果需要 React 作为 CommonJS 模块,则构建时间太长(在我看来)。意思是这个
import React from 'react';
line 将在初始构建时将包/编译时间从 1.2secs 提高到 4secs 左右,然后当检测到任何更改时,大约需要 2.5secs 来重建 js 文件。当包含更多模块时,这个时间会迅速增加。我的解决方法是配置 bower 以在浏览器中将任何外部库公开为全局变量,不太喜欢这种解决方案。
这是我的主要browserify 设置:
function buildApp () {
return browserify({
entries: config.paths.jsx,
extensions: ['.jsx'],
debug: true
})
.bundle()
.on('error', onError)
.pipe(source('app.js'))
.pipe(gulp.dest(config.paths.dest));
}
并通过packages.json添加转换
"browserify": {
"transform": [
"babelify"
]
}
我确实在我的 buildApp function 中尝试了 ignore 选项,如下所示:
transform(babelify.configure({
ignore: /node_modules/
})
但这并没有帮助。
据我所知,我正在使用最新的软件包,意思是:
"babelify": "^6.3.0",
"browserify": "^11.2.0",
"react": "^0.14.0"
在节点 v4.1.0 上。有人有什么想法吗?无论如何,请分享。
附: Here 是指向 repo 的链接,如果有人有时间想仔细看看的话。或者,也许,测试构建时间。
【问题讨论】:
标签: reactjs gulp browserify