gulp - 在 package.json 中声明时 Reactify 转换未运行

标签 gulp reactjs browserify

我正在尝试将reactify转换与browserify和gulp一起使用。

这个 gulp 任务有效:

return browserify({
        paths: ['./node_modules','./app/scripts/'],
        entries: ['./app/scripts/index.js'],
        transform: ['reactify'],
        debug: true
    })
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('.tmp/scripts/'));

如果我从 gulp 中删除转换键并将其移至 package.json:

  "browserify": {
    "transform": [
      ["reactify", {"es6": true}]
    ]
  }

转换不再运行(也尝试过不使用 es6)。

我正在使用这个 yeoman 生成器:https://www.npmjs.org/package/generator-react-spa

谁能解释一下吗?

最佳答案

package.json中的配置有两种情况使用:

  • 您使用 browserify 命令行工具
  • 它是一个不同于当前包的包(例如,当您需要它时,会使用 React 的 package.json 配置)

如果您使用 API,则可以手动指定转换。为了避免重复:

var package = require('./package.json');
browserify({
        paths: ['./node_modules','./app/scripts/'],
        entries: ['./app/scripts/index.js'],
        transform: package.browserify.transform,
        debug: true
})

或者更一般地说,合并可以是您最喜欢的合并实现(例如 _.defaults )

browserify(merge({}, package.browserify.transform, {
        paths: ['./node_modules','./app/scripts/'],
        entries: ['./app/scripts/index.js'],
        debug: true
}))

关于gulp - 在 package.json 中声明时 Reactify 转换未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26242601/

相关文章:

javascript - 在 react native ListView 中搜索大数据

reactjs - npm uninstall -g create-react-app 和 yarn 全局删除 create-react-app 不起作用

javascript - vueify:安装组件失败:模板或渲染函数未定义

javascript - Angular 中的任意精度小数算术

node.js - 生成子进程时管理 Gulp 依赖项

javascript - 如何抑制错误 : Illegal space before opening round brace at from jsrc?

javascript - `gulp-replace` 仅替换部分目标,但不是全部

node.js - gulp serve 命令打开浏览器并出现错误 : "This site can’ t provide a secure connection localhost sent an invalid response"

javascript - 如何在不给定高度的情况下使内容在 flexbox 中滚动?

javascript - Browserify 破坏了 Youtube iFrame API