webpack是一个现代Javascript应用程序的模块打包器(module
bundler)它会分析目录结构,找到js模块(包括浏览器不能直接识别的代码,typescript
sass等),打包成合适的格式供浏览器访问。下面将从核心、安装、使用等方面来说述。
1、核心javascript
二.安装css
三.使用html
三.添加模块java
module.exports='';node
var module = require("./module.js")
import module from ("./module.js")webpack
四.扩展web
每次,咱们都须要指定两个文件来打包很不方便,而且每次文件有修改须要手动在从新打包也比较崩溃
将webpack写入package.json来扩展命令直接用npm webpack便可运行命令typescript
--watch 自动更新 --progress 显示打包进度 --display-modules 列出打包模块 --display-reasons 列出打包缘由 --p 压缩混淆脚本
五.核心概念npm
1.入口(entry) :使用哪一个模块来构建内部依赖图的开始 2.输出(output) :在哪里输出它所建立的bundles及命名规则 3.loader :能够促使webpack额外地处理非javascript文件 4.插件(plugins) :执行范围更广的任务,如:打包优化和压缩等
咱们能够新建webpack.config.js来制定以上概念。接下来一项一项来解释。json
npm run webpack以后能够发现如下报错:
【tips】这个是由于webpack只能处理js文件,若是须要处理css 图片等文件须要安装对应的loader
3 loader(将程序资源文件进行转换,是nodejs的函数 )
第一步:安装loader:
npm install style-loader css-loader —save-dev npm install less-loader —save-dev
第二步:使用loader:
1.引用模块时添加 `require("!style-loader!css-loader!./style.css")` 2.命令行 `webpack entry.js bundle.js --module-bind ‘css=style-loader!css-loader’` 3.配置文件 `module:{ loaders:[ { test:/\.css$/, loaders:['style-loader','css-loader'] //loader: 'style-loader!css-loader' } ] }`
这里推荐在配置文件修改配置,就不用在文件或者命令行中指定比较方便
经常使用loader
npm install babel-loader bable-core —save-dev npm install babel-preset —save-dev npm install html-loader —save-dev npm install file-loader —save-dev
步骤总结:
a.安装对应loader (npm install xxx —save-dev) b.修改配置文件(module)
常见loader配置:
4经常使用插件
webpack.BannerPlugin - banner注释 htmlWebpackPlugin - 关联文件 CommonsChunkPlugin - 按需加载 ExtractTextWebpackPlugin - 分离css 这里须要特别提到的是关联文件的插件,在平常项目中咱们通常会有模板。
在模板文件中,咱们不须要关注css,不须要关注js,只须要写好对应的html模板。
4.1咱们在配置文件中写好plugins,
4.2执行打包以后,就能够在输出文件中看到对应的js等等
4.3这里须要特别注意的是这个js的文件能够经过配置文件publicPath来配置。你们能够翻到最前面查看该属性。 固然了,也能够利用banner注释插件来添加注释:
六.按需加载