我正在尝试使用three.js启动webapp,我想使用webpack将所有内容捆绑在一起,但我似乎无法在webpak.config上找到要求(“webpack”),我必须这样做才能使用webpack.providePlugin
这是我的webpack.config.js
var path = __dirname;
const webpack = require('webpack');
module.exports = {
entry: {
main: './main.js'
},
output: {
path: __dirname + '/dist/',
filename: '[name].bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader'
}
]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
]
}
这是我运行webpack时出现的错误 Error on webpack run
只有在我尝试要求webpack
时才会出现错误答案 0 :(得分:2)
我99%肯定问题是您使用的是旧版本的Node.js.
这是您的错误消息:
/home/eloy/Sites/proyectomi/node_modules/webpack/lib/Compiler.js:10
const {
^
SyntaxError: Unexpected token {
如果您使用的是Webpack 4.3或4.4(最新版本),那么有问题的行line 10 of lib/Compiler.js
是此解构分配的第一行:
const {
Tapable,
SyncHook,
SyncBailHook,
AsyncParallelHook,
AsyncSeriesHook
} = require("tapable");
快速访问node.green告诉我们,在版本6.4.0之前,Node.js不支持对象解构。
webpack docs建议使用Node.js的当前LTS版本:
先决条件
在开始之前,请确保安装了新版本的Node.js.目前的长期支持(LTS)版本是 一个理想的起点。你可能会遇到各种各样的问题 旧版本,因为它们可能缺少webpack和/或它的功能 相关的包需要。
截至今天(2018-03-30),那是Node.js 8.11.1。
答案 1 :(得分:0)
1)var path = __dirname;
此行需要删除。
2)npm install webpack --save-dev
这会将webpack添加到dev依赖项。