【问题标题】:How to tell @babel/core about external build variables如何告诉@babel/core 关于外部构建变量
【发布时间】:2020-01-14 16:54:06
【问题描述】:

我有一个使用 Webpack 构建的 React 项目,我在其中使用 Webpack 的 DefinePlugin 定义了一些构建时变量:

plugins: [
  new DefinePlugin({
    __ENV__: argv.mode,
    // ...
  })
]

我在一些代码文件中引用了这个变量,如下所示:

if(__ENV__ === 'production') {
  // ...
}

但问题是@babel/core 包抱怨未定义的变量。奇怪的是,babel-core npm 包用于识别变量,如果我在文件顶部这样定义它们:

declare var __ENV__;

但是当切换到@babel/core 包时,会出现错误

SyntaxError Unexpected token, expected ";" (6:8)
declare var __ENV__;
        ^

有没有办法告诉@babel/core 包有关外部变量的信息?

【问题讨论】:

  • “但问题是 @babel/core 包抱怨未定义的变量。”错误是什么?

标签: reactjs webpack build babeljs babel-jest


【解决方案1】:

根据你上次的sn-p,有语法错误,不是外部变量的问题:

SyntaxError Unexpected token, expected ";" (6:8)
declare var __ENV__;
        ^

declare 这个词不是 javascript 关键字,它是 flow/typescript 关键词。您是否在构建过程中使用 flow/typescript babel 预设?

【讨论】:

    猜你喜欢
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2021-12-21
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多