用gulp和jsx来宣告“使用严格”问题

时间:2016-02-23 07:53:23

标签: reactjs gulp babeljs

我想从gulp制作的常见js中删除严格模式,即“use strict”。

我试过

browserify({
            debug: true,
            entries: ['src/Components/Main.jsx']
        })
        //.transform(["babelify",{presets: ["stage-0", "stage-1", "es2015", "react"],  blacklist: [ 'useStrict' ]}])
        .transform(babelify.configure({
          presets: ["stage-0", "stage-1", "es2015", "react", "transform-strict-mode"],
        }))
        .bundle()

但是收到此错误

错误:无法找到相对于目录的预设“transform-strict-mode”。我安装了它

npm install babel-plugin-transform-strict-mode

,它安装在安装其他预设的同一目录中。

我也试过

.transform(["babelify",{presets: ["stage-0", "stage-1", "es2015", "react"],  blacklist: [ 'useStrict' ]}])

但不工作..

任何人都可以帮助我。

我无法评论堆栈溢出。堆栈溢出不允许我在任何地方发表评论,所以我无法回复评论。

修改:

.transform( 'babelify', {
  presets: [ 'stage-0', 'react', ],
  plugins: [ 'transform-strict-mode' ]
})

正在运行,但我想删除严格模式。所以我正在尝试这样的选项:

.transform(babelify.configure({
          presets: ["stage-0",  "react"],
          plugins: ["transform-strict-mode", {"strict": false}]
        }))

并且它给出了这个错误

Plugin 1 specified in "base" provided an invalid property of "strict" while parsing

1 个答案:

答案 0 :(得分:1)

当它是插件时,您将其添加为预设

以下内容应该修复它

.transform( 'babelify', {
  presets: [ 'stage-0', 'react', ],
  plugins: [ 'transform-strict-mode' ]
})

此外,您不需要包含stage-1es2015预设,它们包含在stage-0中。