我正在使用Webpack将我的所有JS编译成一个文件。主文件中包含以下行:
import Tween from 'tween.js'
当我编译我的文件并在浏览器中打开包含结果JS文件的HTML文件时,我收到此错误:
TypeError: this is undefined
并且浏览器控制台指向这些代码行:
// Include a performance.now polyfill
(function () {
// In node.js, use process.hrtime.
if (this.window === undefined && this.process !== undefined) { // it points to this line of code
TWEEN.now = function () {
var time = process.hrtime();
// Convert [seconds, microseconds] to milliseconds.
return time[0] * 1000 + time[1] / 1000;
};
}
我非常确定这条import
行会导致我注释掉其他所有内容,但仍然会抛出此错误,如果我只注释掉这一行,那么一切正常。
如果我将脚本直接包含在我的HTML文件中,一切都没问题,所以我猜这是Webpack的问题。
这是我的Webpack配置:
{
name: 'all scripts',
entry: {
'main': ['babel-polyfill', path.join(__dirname, 'clientside', 'client.js')],
},
output: {
path: path.join(__dirname, 'public'),
filename: '[name].js'
},
module:
{
loaders: [
{ test: /\.js$/,
loader: 'babel',
query: { presets:['es2015', 'stage-0'] }
}
],
},
}
我做错了什么?