Javascript 如何在.bablerc中使用的package.json中设置env
在运行webpack之前,我尝试将Jest测试作为脚本的一部分运行,如下所示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
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'] }
}
},