【发布时间】:2018-07-11 15:28:41
【问题描述】:
我从 node_modules 转译导入的模块时遇到问题。 Babel 出于某种原因不会转译从 node_modules 导入的模块,而是转译从 src 导入的模块。
这里是一个示例 repo:https://github.com/NikitaKA/babeltest
main.js
// result code contains const and let, but it shouldn't. :(
index.js
import qs from 'query-string; // not transpiled
import lib from './lib' // transpiled
const query = qs.parse(window.location.search);
webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js'
},
module: {
rules: [
{
test: /\.js$/,
use: {
loader: "babel-loader"
}
}
]
}
};
.babelrc
{
"presets": [
["@babel/preset-env", {
"modules": false,
"targets": {
"chrome": 39
}
}],
["@babel/preset-stage-1", {
"modules": false,
"decoratorsLegacy": true,
"pipelineProposal": "minimal"
}]
],
"plugins": [
"transform-es2015-constants",
"@babel/plugin-transform-block-scoping",
"@babel/plugin-transform-runtime"
]
}
【问题讨论】:
-
这通常是应该的。您是否有特殊原因要转译位于
node_modules中的已经可以分发的模块? -
顺便说一下,示例 repo 缺少
webpack-cli/webpack-command,因此start命令在 OOTB 中不起作用。 -
哎呀,好像我已经全局安装了webpack-cli。
-
@AKX node_modules中的lib使用
const,我想编译成var支持下层浏览器
标签: javascript webpack babeljs