我正在尝试将微风与使用 webpack (4.20.2) 的 TypeScript Web 应用程序一起使用。这些条目在我的 npm package.json 文件中:
"dependencies": {
"bootstrap": "3.3.6",
"breeze-client": "1.7.1",
"es6-promise-promise": "1.0.0",
"jquery": "2.2.1"
}
我有一个供应商 webpack 配置,它具有以下内容:
entry: {
vendor: [
'bootstrap',
'bootstrap/dist/css/bootstrap.css',
'breeze-client',
'es6-promise-promise',
'jquery'
]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Promise: 'es6-promise-promise',
Q: "q"
})
]
我得到
错误:Q 未定义。你想念 Q.js 吗?见 https://github.com/kriskowal/q
所以我在我的代码中添加了一个 polyfill 以使用 ES6 Promises for Q,并在我的启动代码中执行此操作:
import { config } from 'breeze-client'
import { Q } from './lib/my-q-implementation';
config.setQ(Q)
现在我明白了:
无法找到 jQuery
我很确定 boostrap 会寻找一个全局 jQuery,所以我认为问题很简单。
为什么微风看不到全局jQuery?我该如何解决?