@mono_guerin
-Webpack: It's Not Magic | Naomi Jacobs | BuzzJS 2.0 2017
Apr 2015 - May 2018
https://npm-stat.com/
(function() {
var miScopedVarible = 10;
var notGlobalVar = "I am not global";
}());IIFE - Immediate Invoke Function Expression
<script src="bundle.js"></script>JS
webpack
main.js
JSON Loader - https://github.com/webpack-contrib/json-loader
Loader: is a function that takes in source code, makes changes, and returns the new code.
less-loader
css-loader
style-loader
style.less
less-loader
css-loader
style-loader
*.css
less-loader
css-loader
style-loader
*.js
$ npm install --save-dev webpack webpack-cli
// Development
$ webpack main.js dist/bundle.js
// Production
$ webpack main.js dist/bundle.js -p
// webpack.config.js
var path = require("path");
module.exports = {
entry: "./main.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js"
}
};// webpack.config.js
var path = require("path");
module.exports = {
entry: "./main.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js"
},
module: {
rules: [{
test: /\.js$/,
use: ["babel-loader"],
exclude: /node_modules/
}]
}
};module.exports = {
// ...
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: [
"babel-loader",
"eslint-loader",
],
},
],
},
// ...
}module.exports = {
// ...
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: [
{
loader:"babel-loader"
},
{
loader: "eslint-loader",
options: {
failOnWarning: true,
}
}
],
},
],
},
// ...
}