Javascript-форум (https://javascript.ru/forum/)
-   Сборка проекта, утилиты (https://javascript.ru/forum/server-tools/)
-   -   webpack & сторонние библиотеки (https://javascript.ru/forum/server-tools/58430-webpack-storonnie-biblioteki.html)

kuzroman 21.09.2015 17:11

webpack & сторонние библиотеки
 
Опять к вам за помощью

Подскажите как добавить jQuery, Underscore, Backbone в сборку?
Их нужно устанавливать как модули npm (раньше устанавливал через bower)?
а затем в js нике реквайрить например так: $ = require("jquery");


их ведь не нужно оборачивать с помощью babel тогда какой loader использовать для них?

Спасибо!

Lemme 21.09.2015 17:15

{
	test: /\.js$/,
	loader: 'babel'
	exclude: /node_modules/,
}

Цитата:

Их нужно устанавливать как модули npm
Нет, не обязательно, ставь как хочешь.

Цитата:

их ведь не нужно оборачивать с помощью babel тогда какой loader использовать для них?
Ты можешь указать, что не тестить. В данном случае node_modules игнорируется.

kuzroman 21.09.2015 17:51

Спасибо большое!

kuzroman 21.09.2015 19:07

Как то ни пойму, меня структура следующая

root
 -js
  --lib
   ---noCompile.js
  --modules
  --main.js
 -gruntfile


в grunt мой сборщик

webpack: {
    options: {
        entry: {
            routers: './assets/js/main.js'
        },
        output: {
            path: './dist/',
            filename: 'main.js'
        },
        module: {
            loaders: [
                {execute: '/lib/', test: /\.js$/, loader: 'babel'}
            ]
        }
    },
    build: {
        devtool: 'source-map',
        debug: true
    }
}


в noCompile.js я специально добавил обьявление переменных с помощью let чтобы проверить в каком виде они попадут в сборку. В сборку они попадают в виде var! т.е. сборщик не игнорирует этот файл.

и еще момент, я не пойму по какому принципу webpack проверяет что нужно исключить
Правильно ли я понимаю что на месте execute мы должны поставить регулярку?
но ведь мы можем в js вызвать модуль разными способами
так
import {test} from './lib/testLib.js';
// в этом случае webpack будет проверять lib c ''./lib/testLib.js'
или
var Backbone = require("backbone");
// в этом случае lib будет сверяться с полным путем от корня?

kuzroman 21.09.2015 19:23

Упс мой косяк! exclude execute,
Нужны стеройды для внимательности)


Часовой пояс GMT +3, время: 04:07.