Javascript 如何在.bablerc中使用的package.json中设置env

Javascript 如何在.bablerc中使用的package.json中设置env,javascript,webpack,jestjs,babeljs,Javascript,Webpack,Jestjs,Babeljs,在运行webpack之前,我尝试将Jest测试作为脚本的一部分运行,如下所示 npm run test webpack --progress --profile --watch --mode development Jest只适用于编译后的代码,所以我将我的.babelrc设置为以下,这是可行的,但是它在webpack中传输了我不想要的所有代码,在开发模式下,我想让JavaScript不被传输,这样我就可以在不混淆的情况下使用它 { "presets": [ "@babel/preset

在运行webpack之前,我尝试将Jest测试作为脚本的一部分运行,如下所示

npm run test
webpack --progress --profile --watch --mode development
Jest只适用于编译后的代码,所以我将我的.babelrc设置为以下,这是可行的,但是它在webpack中传输了我不想要的所有代码,在开发模式下,我想让JavaScript不被传输,这样我就可以在不混淆的情况下使用它

{
   "presets": [ "@babel/preset-env" ]
}
相反,我想通过调用“npm run test”来运行Jest,然后我可以指定脚本只传输代码,然后webpack运行而不传输,我希望在我的.babelrc文件中有类似的东西

{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
然后,在我的package.json中,我可以将env设置为test,这样就可以不使用webpack了

"scripts": {
  "test": "SET env=test&& jest --config jest.config.js"
}
在这个设置中,当“npm run test”运行时,我仍然会看到下面的消息,显示babelrc文件没有被命中

Jest遇到了意外的标记 这通常意味着您正试图导入Jest无法解析的文件,例如,它不是纯JavaScript


有人能帮忙吗?

所以我的测试在.babelrc文件中是正常的

{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
mypackage.json中需要的脚本是这样的,没有设置任何节点env

"scripts": {
  "test": "jest --config jest.config.js"
}
实际上是我的网页包脚本配置不正确,我需要在最后添加“--env.NODE_env=development”

webpack --progress --profile --watch --mode development --env.NODE_ENV=development
然后可以在我的webpack.config文件中检查

module.exports = (env) => {
    const isDevelopment = env && env.NODE_ENV === 'development';
    ...
然后在我的规则中测试ISD的发展

rules: [{
    test: /\.js$/,
    exclude: /(node_modules|bower_components)/,
    use: {
        loader: 'babel-loader',
        options: isDevelopment ? {} : { presets: ['@babel/preset-env'] }
    }
},

所以我的测试在.babelrc文件中是正常的

{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
{
    "env": {
      "test": {
        "presets": [ "@babel/preset-env" ]
      }
    }
}
mypackage.json中需要的脚本是这样的,没有设置任何节点env

"scripts": {
  "test": "jest --config jest.config.js"
}
实际上是我的网页包脚本配置不正确,我需要在最后添加“--env.NODE_env=development”

webpack --progress --profile --watch --mode development --env.NODE_ENV=development
然后可以在我的webpack.config文件中检查

module.exports = (env) => {
    const isDevelopment = env && env.NODE_ENV === 'development';
    ...
然后在我的规则中测试ISD的发展

rules: [{
    test: /\.js$/,
    exclude: /(node_modules|bower_components)/,
    use: {
        loader: 'babel-loader',
        options: isDevelopment ? {} : { presets: ['@babel/preset-env'] }
    }
},