Webpack 是一个模块打包器,它可以将 JavaScript 模块、CSS 样式表、图片等资源打包成一个或多个静态文件,以便在浏览器中加载。Webpack 通过配置文件来定义打包的行为,这就是 webpack.config.js。
webpack.config.js 是一个 JavaScript 文件,它导出一个对象,该对象拥有各种选项,用于定义 webpack 的行为。webpack 通过读取此文件来获取关于如何处理项目的信息。
module.exports = { entry: './src/index.js', // 入口文件 output: { // 输出配置 filename: 'bundle.js', // 输出文件名称 path: path.resolve(__dirname, 'dist') // 输出文件存放目录 }, module: { // 处理对应模块 rules: [ // 规则数组,里面存放各种loader处理各种文件的loader对象 { test: /\.css$/, use: ['style-loader', 'css-loader'] }, // 处理css文件的loader { test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }, // 处理less文件的loader { test: /\.(png|jpg|gif)$/, use: ['url-loader'] } // 处理图片文件的loader ] } plugins:[],// 存放所有webpack插件 devServer:{}// 开发服务器配置 }
Webpack 在执行的时候,除了在命令行传入参数,还可以通过指定的配置文件来执行。默认情况下,会搜索当前目录的 webpack.config.js 文件,这个文件是一个 node.js 模块,返回一个 json 格式的配置信息对象,或者通过 --config 选项来指定配置文件。
继续我们的案例,在根目录创建 package.json 来添加 webpack 需要的依赖:
{
"name": "webpack-example",
"version": "1.0.0",
"description": "A simple webpack example.",
"main": "bundle.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [
"webpack"
],
"author": "zhaoda",
"license": "MIT",
"devDependencies": {
"css-loader": "^0.21.0",
"style-loader": "^0.13.0",
"webpack": "^1.12.2"
}
}
# 如果没有写入权限,请尝试如下代码更改权限
chflags -R nouchg .
sudo chmod 775 package.json
别忘了运行 npm install。
然后创建一个配置文件 webpack.config.js:
var webpack = require('webpack')
module.exports = {
entry: './entry.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{test: /.css$/, loader: 'style-loader!css-loader'}
]
}
}
同时简化 entry.js 中的 style.css 加载方式:
require('./style.css')
最后运行 webpack,可以看到 webpack 通过配置文件执行的结果和上一章节通过命令行 webpack entry.js bundle.js --module-bind 'css=style-loader!css-loader' 执行的结果是一样的。
作者在刚开始学习 node 的时候,跟随大牛们的 demo 去做一个个实战项目,过程中安装了很多模块,对对于这些模块的 API 却不知道...
Java 插件向一个项目添加了 Java 编译、 测试和 bundling 的能力。它是很多其他 Gradle 插件的基础服务。用法要使用 Java 插件,...
FindBugs 插件使用 FindBugs 对项目的 Java 源文件执行质量检查,并从检查结果中生成报告。用法要使用 FindBugs 插件,请在构建...
属性是键值对,其中每个值都与键相关联。属性用于设置可在构建文件中的任何位置访问的值。 设置属性后,无法更改。Apache Ant提...
常用设置如上图 Gif 所示,我们还可以根据选择的代码,查看该段代码的本地历史,这样就省去了查看文件中其他内容的历史了。除了...