Webpack 无法在外部包中构建 ES6
Webpack fails to build ES6 in external packages
我正在尝试在项目中使用 ES6 npm 包(在本例中称为 gamesystem)并使用 webpack(和 babel)构建,它无法在外部依赖项中构建任何 ES6 代码,这是为什么?如果我的代码与具有相对路径的依赖项相同,则可以正常工作。
应用代码:
'use strict';
import World from 'gamesystem'; // Breaks
//import World from '../node_modules/gamesystem'; // Also breaks
//import World from '../gamesystem'; // Works (copied the same directory gamesystem outside the node_modules directory)
let world = new World();
错误:
ERROR in ./~/gamesystem/World.js
Module parse failed: /home/user/project/node_modules/gamesystem/World.js Line 3: Unexpected token
You may need an appropriate loader to handle this file type.
| 'use strict';
|
| import System from './System';
|
| export default class World {
@ ./src/app.js 3:18-39
Webpack 配置:
'use strict';
// Modules
let WebpackNotifierPlugin = require('webpack-notifier');
let HtmlWebpackPlugin = require('html-webpack-plugin');
let config = {
entry: {
app: __dirname + '/../src/app.js'
},
devtool: 'source-map',
devServer: {
stats: {
modules: false,
cached: false,
colors: true,
chunk: false
},
proxy: require('./devProxy')
},
module: {
loaders: [{
test: /'.js$/,
loader: 'babel',
exclude: /node_modules/,
query: {
presets: ['es2015', 'stage-0']
}
},
{
test: /'.css$/,
loader: 'style!css'
},
{
test: /'.html$/,
loader: 'raw'
}]
},
plugins: [
new WebpackNotifierPlugin(),
new HtmlWebpackPlugin({
template: __dirname + '/../src/index.html',
inject: 'body',
minify: false
})
]
};
module.exports = config;
您明确地从babel-loader
中排除了node_modules
:
exclude: /node_modules/,
如果你想通过 babel 传递node_modules
模块,你需要调整它。您可以考虑像这样显式包含:
// be sure to req path
// var path = require('path')
include: [
// Include everything from your app path
path.resolve(__dirname, 'my-app-js-path'),
// Include gamesystem modules
/'bgamesystem'b/,
],
相关文章:
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 有没有办法限制Meteor-alded表格包中已发布的字段
- 如何在Yii2资产捆绑包中使用JSX文件
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- 如何在Angularjs中重构闭包中的重复代码
- 如何冻结函数's在闭包中的变量
- 局部变量在闭包中丢失
- 闭包中的Javascript值
- javascript,将参数传递给函数内部的闭包中的回调
- 其中是闭包中存储的变量-堆栈或堆
- Ajax控制工具包中的错误's升级后的JS文件
- 返回它在Javascript中构建的新对象
- 如何使用浏览器“需要”配置文件,但不将此文件包含在捆绑包中
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- 在javascript/jquery中构建一个多部分/表单数据请求
- webpack 将 CSS 作为字符串内联到 JS 捆绑包中
- var 函数名称与函数闭包中的名称分配
- Webpack 无法在外部包中构建 ES6
- 了解“构建”在开源JavaScript包中的作用
- 如何在 ember v2.6 中构建第三方软件包