Как правильно подключить jquery к сборке?

webpack.config.js:
'use strict';

const NODE_ENV = process.env.NODE_ENV || 'dev';
const webpack = require('webpack');
module.exports = {
    entry: './js/main',
    output: {
        filename: './js/app.js'
    },
    // watch: NODE_ENV == 'dev',
    plugins: [
        new webpack.EnvironmentPlugin('NODE_ENV')
    ],
    resolve: {
        alias: {
            jquery: "jquery/src/jquery"
        }
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel?presets[]=es2015'
            }
        ]
    }
};

Установил jquery через npm: npm i jquery. После чего набираю в терминале webpack но, в app.js jquery неподключилась. Что я не так делаю ?
  • Вопрос задан
  • 2601 просмотр
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Надеюсь, в app.js сделан require('jquery') :-)

В plugins можно попробовать добавить ProvidePlugin, с указанием альтернативных имен jQuery, чтобы webpack эти имена обрабатывал как jQuery:

plugins: [
  new webpack.EnvironmentPlugin('NODE_ENV'),

  new webpack.ProvidePlugin({
    '$': 'jquery',
    'jQuery': 'jquery'
  })
]

В alias указывать jQuery нет необходимости.

А вот добавление node_modules в modulesDirectories может помочь:

resolve: {
  modulesDirectories: ['./', 'node_modules'],
  // ...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы