Очень хакерский, но у меня все получилось с помощью import-loader.
module: {
rules: [
{
test: require.resolve('breeze-client/breeze.debug'),
use: 'imports-loader?this=>window,window.jQuery=jquery,window.ko=knockout,global=>{window: this}'
},
]
}
, что ставит это в начало скрипта breeze.
var window = (window || {});
window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
var window = (window || {});
window.ko = __webpack_require__(/*! knockout */ "./node_modules/knockout/build/output/knockout-latest.debug.js");
var global = {window: this};
Мне не нравитсяэто потому, что он помещает jquery и ko в глобальную область видимости.
Я пробовал это, среди прочего, (для jquery), и это не сработало:
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
"global.window.jQuery": "jquery"
}),
И с этим на местеЯ все еще должен сделать это в другом скрипте, который ссылается на "$":
import * as $ from 'jquery';
Попробовал это в моем скрипте запуска также безуспешно:
import jQuery as $ from 'jquery';
window.jQuery = window.$ = jQuery;
Надеюсь, это кому-то поможет иНадеюсь, кто-то может предложить лучшее решение.