Integrations
ì¼ë°ì ì¸ ì¤í´ë¥¼ í¸ë ê²ë¶í° ììíê² ìµëë¤. Webpackì Browserifyë Brunch ê°ì 모ë ë²ë¤ë¬ ì ëë¤. Make ë° Grunt, Gulpì ê°ì íì¤í¬ ë¬ëê° ìëëë¤. íì¤í¬ ë¬ëë íë¡ì í¸ì 린í¸, ë¹ë, í ì¤í¸ì ê°ì ì¼ë°ì ì¸ íì¤í¬ì ìëí를 ì²ë¦¬í©ëë¤. ë²ë¤ë¬ì ë¹êµíë©´ íì¤í¬ ë¬ëë ë ëì ìì¤ì ì§ì¤í©ëë¤. ë²ë¤ë§ì 문ì ë webpackì 맡겨ëê³ ë ëì ìì¤ì í´ë§ì ëí ì´ì ì ê°ì§ ì ììµëë¤.
ë²ë¤ë¬ë JavaScriptì ì¤íì¼ìí¸ë¥¼ ë°°í¬í ì ìëë¡ ì¤ë¹íê³ , ë¸ë¼ì°ì ì ì í©í íìì¼ë¡ ë³ííë ë° ëìì ì¤ëë¤. ì를 ë¤ì´ JavaScript를 minifyíê±°ë ì²í¬ë¡ ë¶ë¦¬íê³ lazy-loadíì¬ ì±ë¥ì ê°ì í ì ììµëë¤. ë²ë¤ë§ì ì¹ ê°ë°ìì ê°ì¥ ì¤ìí ê³¼ì ì¤ íëì´ë©°, ì´ë¥¼ ì í´ê²°íë©´ ì ì²´ ê³¼ì ì ë§ì ì´ë ¤ìì ëì´ë¼ ì ììµëë¤.
ì¢ì ììì ì¬ë°ë¥¸ ë°©ë²ì¼ë¡ ì ê·¼íë©´ ì½ê° ì¤ë³µì´ ìëë¼ë íì¤í¬ ë¬ëì ë²ë¤ë¬ë¥¼ í¨ê» ì ì¬ì©í ì ììµëë¤. ì´ ê°ì´ëë ë리 ì¬ì©ëë íì¤í¬ ë¬ëì webpackì ì´ë»ê² íµí©íëì§ì ëí´ ì´í´í기 ì½ê² ì¤ëª í©ëë¤.
NPM Scripts
webpack ì¬ì©ìë npm scripts를 íì¤í¬ ë¬ëë¡ ì¢
ì¢
ì¬ì©í©ëë¤. ì´ê²ì ì¢ì ììì ì
ëë¤. í¬ë¡ì¤ íë«í¼(Cross-platform) ì§ìì´ ë¬¸ì ê° ë ì ìì§ë§, ì¬ê¸°ì ì¬ë¬ ê°ì§ í´ê²° ë°©ë²ì´ ììµëë¤. ëë¶ë¶ì ì¬ì©ìë ìëì§ë§ ë§ì ì¬ì©ìê° ê°ë¨í npm scriptsì ë¤ìí ìì¤ì webpack ì¤ì ë° í´ë§ì ì¬ì©í ì ììµëë¤.
ë°ë¼ì webpackì íµì¬ì ë²ë¤ë§ì ì´ì ì ë§ì¶ê³ ìì§ë§, íì¤í¬ ë¬ëì ì¼ë°ì ì¸ ìì ì webpackì¼ë¡ ìíí ì ìëë¡ íë ë¤ìí íì¥ ê¸°ë¥ì´ ììµëë¤. ë³ëì ë구를 íµí©íë©´ ë³µì¡ì±ì´ ëì´ë기 ë문ì ììí기 ì ì ì¥ë¨ì ì ê³ ë ¤í´ì¼ í©ëë¤.
Grunt
Grunt를 ì¬ì©íë¤ë©´ grunt-webpack í¨í¤ì§ë¥¼ ì¬ì©íë ê²ì´ ì¢ìµëë¤. grunt-webpackì ì¬ì©íë©´ webpackì´ë webpack-dev-server를 íì¤í¬ë¡ ì¤íí ì ìì¼ë©°, template tags ë´ìì íµê³ì ì ê·¼ í ì ìê³ , ê°ë°ê³¼ íë¡ëì
ì ì¤ì ì ë¶ë¦¬íë ë±ì ìì
ì ìíí ì ììµëë¤. ì¤ì¹íì§ ììë¤ë©´ grunt-webpackê³¼ webpackì ì¤ì¹ë¥¼ ììíì¸ì.
npm install --save-dev grunt-webpack webpackê·¸ë¦¬ê³ ì¤ì ì ë±ë¡íê³ íì¤í¬ë¥¼ ë¡ëí©ëë¤.
Gruntfile.js
const webpackConfig = require("./webpack.config.js");
module.exports = function (grunt) {
grunt.initConfig({
webpack: {
options: {
stats: !process.env.NODE_ENV || process.env.NODE_ENV === "development",
},
prod: webpackConfig,
dev: { watch: true, ...webpackConfig },
},
});
grunt.loadNpmTasks("grunt-webpack");
};ë ìì¸í ì 보를 ìíìë©´ ì ì¥ì를 ë°©ë¬¸í´ ë³´ì¸ì.
Gulp
Gulp ìì webpack-stream í¨í¤ì§ë¥¼ íµí´ ë§¤ì° ê°ë¨íê² íµí©í ì ììµëë¤. (a.k.a. gulp-webpack) ì´ ê²½ì° webpackì webpack-streamì ì§ì ì ì¸ ìì¡´ì±ì´ ìì¼ë¯ë¡ ë³ëë¡ ì¤ì¹í íìê° ììµëë¤.
npm install --save-dev webpack-streamwebpack ëì require('webpack-stream')ì ì¬ì©íê³ ì íì ì¼ë¡ ì¤ì ì ì ë¬í©ëë¤.
gulpfile.js
import gulp from "gulp";
import webpack from "webpack-stream";
gulp.task("default", () =>
gulp
.src("src/entry.js")
.pipe(
webpack({
// 모ë ì¤ì ìµì
...
}),
)
.pipe(gulp.dest("dist/")),
);ìì¸í ë´ì©ì webpack-stem ì ì¥ì를 ì°¸ê³ íì¸ì.
Mocha
mocha-webpack ì í¸ë¦¬í°ë webpackì Mochaì ê¹ëíê² íµí©í´ì¤ëë¤. ì ì¥ìë ì¥ë¨ì ì ëí ìì¸í ë´ì©ì ì ê³µíì§ë§ 본ì§ì ì¼ë¡ mocha-webpackì Mocha ìì²´ì ê±°ì ëì¼í CLI를 ì ê³µíê³ í¥ìë watch 모ëì ê²½ë¡ ë¶ìê³¼ ê°ì ë¤ìí webpack 기ë¥ì ì ê³µíë ê°ë¨í ëí¼ì
ëë¤. ë¤ìì ì¤ì¹ ë° í
ì¤í¸ ì¤ìí¸ë¥¼ ì¤ííë ë°©ë²ì ëí ê°ë¨í ìì
ëë¤. (./testì ìì).
npm install --save-dev webpack mocha mocha-webpack
mocha-webpack 'test/**/*.js'ìì¸í ë´ì©ì mocha-webpack ì ì¥ì를 ì°¸ê³ íì¸ì.
Karma
karma-webpack í¨í¤ì§ë¥¼ ì¬ì©íë©´ webpackì ì¬ì©íì¬ Karmaìì íì¼ì ì ì²ë¦¬í ì ììµëë¤.
npm install --save-dev webpack karma karma-webpackkarma.conf.js
export default function (config) {
config.set({
frameworks: ["webpack"],
files: [
{ pattern: "test/*_test.js", watched: false },
{ pattern: "test/**/*_test.js", watched: false },
],
preprocessors: {
"test/*_test.js": ["webpack"],
"test/**/*_test.js": ["webpack"],
},
webpack: {
// 모ë 커ì¤í
webpack ì¤ì ...
},
plugins: ["karma-webpack"],
});
}ìì¸í ë´ì©ì karma-webpack ì ì¥ì를 ì°¸ê³ íì¸ì.



