LINUX.ORG.RU

webpack + jquery + backbone

 , , ,


0

1

Всем привет.

Начал тыкать палкой вебпак. Пытаюсь собрать начальное клиентское приложения на базе backbone.js. Есть вот такой вот конфиг:

var webpack = require('webpack');

const { resolve } = require('path');
const SRC_PATH = resolve(__dirname, 'src');
const STATIC_PATH = resolve(__dirname, '../static/admin/');

var ExtractTextPlugin = require('extract-text-webpack-plugin');


module.exports = {
    entry: [
        `${SRC_PATH}/js/main.js`,
        `${SRC_PATH}/css/style.css`
    ],
    output: {
        filename: 'js/[name].js',
        path: resolve(__dirname, 'dist'),
    },
    resolve: {
        modules: ['node_modules']
    },
    module: {
        rules: [
            {
                test: /\.(js)$/,
                exclude: /node_modules/
            },
            {
                test: /\.(jst)$/,
                use: 'underscore-template-loader'
            },
            {
                test: /\.css$/,
                loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'}),
            }
        ]
    },
    plugins: [
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
            _: "underscore",
            "window.jQuery": 'jquery',
        }),
        new ExtractTextPlugin('styles.css', {
            allChunks: true
        })
    ]
};

main.js

'use strict';

window.$ = window.jQuery = require('jquery');
import 'bootstrap/dist/css/bootstrap.min.css';
import '../css/style.css';
require("bootstrap");

var Backbone = require('backbone');
var Router = require('./routers/router');

Backbone.$(function() {
    new Router();
    Backbone.history.start();
});

После сборки и подключения бандла. В консоле получаю ошибку:

TypeError: e.replace is not a function

Ошибка эта в кишках библиотеки sizzle (которую, как я понял, юзает jquery).

Сталкивался ли кто-нибудь с такой фигней? В чем может быть проблема?


Ответ на: комментарий от static_lab

jQuery живее всех живых. Чем еще пользоваться нормальным людям, которые не хотят каждые полгода переписывать свои приложения на новую версию React, Angular, Vue, ______ (впишите фреймворк)?

anonymous ()

Ошибка эта в кишках библиотеки sizzle

Не знаю, как ты без сурс-мап это определил. У тебя жквери из npm? Ну и приведи, что-ли, импорты к единому виду.

Deleted ()