我开始了解webpack,我正在尝试将其应用到我的ASP.Net项目中,覆盖默认的捆绑实用程序。
然而,即使我设置了webpack和co。根据网上的一些教程,我对如何正确地将jQuery放入我的包中感到很遗憾。
问题:' jQuery'尝试在chrome dev工具控制台中调用它时未定义。我检查了bundle.js,尽管它说的是关于jQuery的东西,但是它的源代码非常简短,绝不是完整的jQuery源代码。
这是我的webpack.config:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: {
site: [
'./Scripts/index.ts'
]
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'wwwroot/dist/')
},
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
}
]
},
resolve: {
extensions: [".tsx", ".ts", ".js"],
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]
};
index.ts尚未包含任何实际代码,但只包含一行,即:
import $ = require("jQuery");
据我所知,webpack应该告诉webpack将jQuery源放入bundle.js中,因为它是必需的。
谁能告诉我我做错了什么?
答案 0 :(得分:0)
我遇到类似的问题,就像2天前解决了这个问题,
E.g。
resolve: {
modules: [
path.join(__dirname, "./app/custom-path"), //this is optional
"node_modules"
]
},
还要使jquery变量可用于其中的其他模块(这样你就不必从'jquery'写入import $)
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
],