2
我正在用最新最好的webpack 2版本進行一些測試,並在嘗試將jQuery 3.1.1作爲依賴項導入時遇到了問題。 我只是使用import {$} from 'jquery';
導入,但生成的包在執行時會生成一個例外TypeError: __webpack_require__.i(...) is not a function
。 使用const $ = require('jquery');
按預期工作。 這是我的理解,使用webpack 2我可以使用es6導入(幾乎)獨立於庫的格式。ES6在webpack 2中導入AMD(例如jQuery 3.1.1)模塊
webpack.config.js:
'use strict';
const path = require('path');
const webpack = require('webpack');
function config(env) {
const PRODUCTION = env && typeof env.production !== 'undefined';
const PLUGINS = [
new webpack.DefinePlugin({
DEVELOPMENT: JSON.stringify(!PRODUCTION),
PRODUCTION: JSON.stringify(PRODUCTION)
})
];
if (PRODUCTION) {
PLUGINS.push(new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
dead_code: true,
unused: true,
}
}));
}
return {
entry: {
index: './src/index.js'
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js'
},
module: {
rules: [
{
test: /\.js$/i,
include: /src/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
options: {
compact: false,
presets: [['es2015', {modules: false}]]
}
}
]
}
]
},
plugins: PLUGINS,
devtool: 'source-map'
};
}
module.exports = config;
兩個問題:
- 這是一個bug,或只是不是爲了工作,我希望它?
TypeError: __webpack_require__.i(...) is not a function
通常表示的異常是什麼錯誤?