2016-11-27 3 views
0

Я новичок в Webpack и ищу вариант, чтобы исключить мою единственную запись из комплекта.Webpack: как исключить сам файл входа?

Так мой webpack.config.js сейчас выглядит просто так:

module.exports = { 
    entry: './all.js', 
    output: { 
     path: 'dist', 
     filename: 'all.bundle.js' 
    } 
}; 

all.js уже пучок, созданный машинописи transpiler, но без зависимостей от сторонних производителей. Я предпочитаю, чтобы остальная часть пакета - зависимые от третьей стороны - была добавлена ​​отдельно Webpack, так как TypeScript - это единственная сборка, которую я должен будет сделать после огромного большинства изменений во время разработки.

До сих пор при вызове webpack правильно строился пакет всех зависимостей, но он включал запись.

Так есть способ исключить запись?

ответ

0

Я смущен, потому что вы хотите исключить точку входа. Я думаю, вам нужно разделить библиотеки и приложение. Таким образом, вы создаете две точки входа для поставщиков и одного приложения, чтобы создать два пакета. Или вы добавляете свои библиотеки как внешние и добавляете глобально в браузер.

Я думаю, что вы хотите попробовать common chunk plugin:

module.exports = { 
    entry: { 
     app: 'app.js', 
     all: './all.js',// This could be an array ['jquery', ...] 
}, 
     output: { 
      path: 'dist', 
      filename: 'all.bundle.js' 
     }, 
     plugins: [ 
     new webpack.optimize.CommonsChunkPlugin("all", "all.bundle.js") 
     ] 
     }; 

Другая возможность состоит в том, чтобы добавить библиотеки в externals и добавить затем глобально до вашего скрипта приложения.

module.exports = { 
    entry: 'app.js', 
     output: { 
      path: 'dist', 
      filename: 'all.bundle.js' 
     }, 
externals: { 
    all: 'all.js' 
     }; 
+0

Это исключало бы jquery. Я хочу исключить запись - 'all.js' в моем случае. – John

+0

Вы пробовали плагин с общими кусками? – Raulucco

+0

Нет - как я уже сказал, я на самом деле новичок в этом. Я посмотрю. – John

Смежные вопросы