babel 7 - 如何防止添加“严格模式”[重复]

Posted

技术标签:

【中文标题】babel 7 - 如何防止添加“严格模式”[重复]【英文标题】:babel 7 - how to prevent adding of "strict mode" [duplicate] 【发布时间】:2019-03-20 13:04:05 【问题描述】:

我看了很多帖子,但仍然无法正常工作:(

我有.babelrc


  "comments": false,
  "presets": [
    ["@babel/env", 
      "targets": 
        "browsers": ["ios 7"]
      
    ],
    ["minify"]
  ]

我想告诉 babel 不要添加"use strict"(任何地方)

这是怎么做到的?

【问题讨论】:

是 Babel 添加use strict 到你的 CommonJS 模块的问题吗?不将 use strict 添加到 ES 模块(使用 importexport)将违反规范。 我不使用 commonjs 或模块 【参考方案1】:

Babel 默认假定被转换的文件是 ES 模块。既然你不是这种情况,你会想告诉它。您可以查看the docs for the "sourceType" option,但本质上您想添加:

"sourceType": "script"

在你的 Babel 选项中。

【讨论】:

解释一下。它适用于我。 这有助于我在遇到不符合严格模式的代码时抛出错误。但是,现在它在我所有文件的顶部添加了“use strict”。知道如何阻止吗? @yts 考虑使用'unambiguous' 而不是'script' @loganfsmyth 感谢您的建议,但这对我也不起作用。可能与我正在使用的 gulp-babel 版本有关。稍后我将不得不重新开始工作。 @loganfsmyth 看起来更改 sourceType 允许 babel (6) 读取我的非严格兼容代码,但我还必须将 modules: false 添加到“env”预设选项中以防止它附加“使用严格”到文件的顶部。基本上像这样***.com/a/39225403/1825352,除了我使用“env”而不是“es2015”

以上是关于babel 7 - 如何防止添加“严格模式”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

取消 vue 的严格模式

Babel7.x完美解决严格模式报错:'caller', 'callee', and 'arguments' properties may not be

node.js学习笔记之babel使用

Babel 7 失败,单个插件说“检测到重复的插件/预设”。

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

如何防止用户重复提交数据