Это оказалось более неприятным, чем я ожидал.Импорт плагина jQuery. Angular 2 & Webpack
Я выяснил, как включить в процесс создания Webpack такие вещи, как jQuery и bootstrap. Но одна из сторонних угловых директив, которые я добавил, требует наличия специального плагина jQuery в глобальной области $ ... для жизни меня я не могу найти простой ясный пример того, как это сделать.
Это код ошибки я получаю:
Error: Error in ./SomeComponent class SomeComponent - inline template:5:32 caused by: $(...).selectize is not a function
Я видел примеры использования сценариев-загрузчик, разоблачить-загрузчик, используя решительность с набором псевдонимов, я пытался их всех ... но мне кажется, что мне не очень повезло, поскольку я новичок в Webpack, и мне, вероятно, удалось заблудиться больше всего за последние 2 дня. Я думаю, что я смешиваю различные решения, которые могут добавить к хаосу.
Я читал это post несколько раз, и он объясняет, как загрузить, сам jQuery ... но не плагин jQuery.
(некоторые кода исключены для краткости)
webpack.config.js
module.exports = {
module: {
loaders: [
{
test: /bootstrap-sass[\/\\]assets[\/\\]javascripts[\/\\]/,
use: 'imports-loader?jQuery=jquery'
},
{
test: require.resolve('selectize'),
use: 'expose-loader?$!expose?selectize'
}
]
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jquery: "jquery",
"window.jQuery": "jquery",
jQuery:"jquery"
}),
resolve: {
alias: {
'selectize': path.resolve(
__dirname,
'../selectize/dist/js/selectize.min.js'
)
},
extensions: [
'.webpack.js',
'.web.js',
'.js',
'.ts'
]
},
entry: {
vendor: [
..
],
main: `./${conf.path.src('index')}`
}
};
app.ts
import 'script-loader!selectize';
Таким образом, мой вопрос:
Как загрузить сторонний плагин jQuery в приложении Angular 2 с использованием процесса загрузки/сборки модуля Webpack 2.
Не такая ситуация, когда вы можете захотеть найти не-jquery, angular2-specific library, которая решает ту же проблему? – jellymann
@jellymann. Да и нет ... Проблема связана с импортом сторонних библиотек и их зависимостей. Даже если бы я смог преодолеть это, перейдя только «угловым». Мне все равно нужно на какой-то стадии выяснить, как обслуживать/связывать/предоставлять зависимые от сторонних сторон. –