【发布时间】:2024-08-08 07:20:01
【问题描述】:
我正在尝试将我的应用程序从 requirejs 迁移到 webpack 2,但遇到了问题。
我的 webpack 配置:
rules: [
// rules for modules (configure loaders, parser options, etc.)
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, "src")
],
exclude: [
path.resolve(__dirname, "app/demo-files")
],
enforce: "pre",
enforce: "post",
},
{
test: /underscore/,
loader: 'expose-loader?_'
},
{
test: /howler/,
loader: 'expose-loader?Howl'
},
{
test: /pathfinding/,
loader: 'expose-loader?PF'
},
{
test: /stats/,
loader: 'expose-loader?Stats'
},
{
test: /datgui/,
loader: 'expose-loader?dat.gui'
},
{ test: /jquery/,
loader: 'imports?jQuery=jquery,$=jquery,this=>window'
},
{
test: /jquery-ui/,
use: [
'expose-loader?$',
'imports-loader?this=>window,jquery'
]
}
在插件部分:
plugins: [
new webpack.ProvidePlugin({
"$":"libs/jquery/jquery.min",
"jQuery":"libs/jquery/jquery.min",
"window.jQuery":"libs/jquery/jquery.min"
}),
]
但是当我这样做时,我有以下错误:
Game.js:48 Uncaught TypeError: $(...).tooltip is not a function
at Game.init (Game.js:48)
at Object.<anonymous> (init.js:6)
at Object.<anonymous> (init.js:7)
at __webpack_require__ (bootstrap aa1ecbe…:678)
你能帮我解决这个问题吗?我认为问题在于 jquery 的导入,但我不知道如何解决问题...
谢谢
【问题讨论】:
-
我没有看到webpack的tooltip配置,你需要添加jquery.tooltip吗?
-
您是否按照此处的所有说明进行操作? *.com/questions/33998262/…
-
通过将其添加到我的别名:“jquery-ui”:“libs/jquery-ui/jquery-ui.min.js”,//绑定到模块;模块:path.join(__dirname,“node_modules”)我有另一个错误:未捕获的类型错误:无法设置未定义的属性'fontSpy'
-
@nico 当库无法正确加载时会出现这些错误。
Cannot set property 'fontSpy' of undefined表示对象或变量是null并且您正在尝试设置它的属性。您将需要检查您的代码是否存在拼写错误或其他错误。您可能需要使用 jshint 等工具。
标签: jquery jquery-ui webpack webpack-2