Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2015, 17:11
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

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

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


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

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2015, 17:15
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

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

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

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

Последний раз редактировалось Lemme, 21.09.2015 в 17:19.
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2015, 17:51
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Спасибо большое!
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2015, 19:07
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

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

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:22.
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2015, 19:23
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пакеты vs библиотеки FanAizu Общие вопросы Javascript 4 12.11.2014 09:59
Как вы пишите свои библиотеки? Hapson Общие вопросы Javascript 22 22.03.2014 16:10
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Общие вопросы Javascript 1 16.08.2013 12:02
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Библиотеки/Тулкиты/Фреймворки 3 15.06.2013 15:48
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39