1.webpack入门介绍。
1、了解Webpack相关
- 什么是webpackzz
- Webpack是一个模块打包器(bundler)。
- 在Webpack看来, 前端的悉数资源文件(js/json/css/img/less/…)都会作为模块处理
- 它将依据模块的依托联络进行静态分析,生成对应的静态资源
- 了解Loader
- Webpapproachack 自身只能加载JS/JSON模块,假如要加载其他类型的文件(模块html网页制造),就需要运用对应的loader 进行转化/加载
- Loaaapproachppstoreder 自身http://www.baidu.com也是作业在 node.js 环境中的 JavaScript 模块
- 它自身是一个函数,接受源文件作为参数,回来转化的作用
- loader 一般以 xxx-loader 的办法命名gitee,xxx 代表了这个 lapp是什么意思oader 要做的服务器租借转化功用,比如 json-loader。
- 装备文件(默许)
- webpack.config.jshtml代码 : 是一个no服务器租借de模块,回来一个 json 格appreciate局的装备信息方针
- 插件
- 插件件能够完毕一些loader不能完毕的功用。
- 插件的运用服务器和电脑主机的区别一般是在 webpack 的装备信息 plugins 选项html标签特点大全中指定。
- CleanWebpackPlugin: 自服务器动Git根除指定文件夹资源
- HtmlWebpackPluginhttpwatch: 主动生成Hhthttp 404tp 404TML文件并
- UglifyJSPlugin: 紧缩js文件
2、学习文档 :
- webpack官网: webpack.github.io/
- webpack2文档(英文): webpack.js.org/
- webpack2文档(中文): doc.weHTMLbpack-china.org/
3、翻开项目
- 初始化项目:
- 生成package.json文件
{ "name":application "webpack_test", "version": "1.0.0" }
- 设备webpack
- npm install webpack -g //全局设备
- npm install webpack --save-dev //部分html文件怎样翻开设备
4、编译打包运用
- 创立进口src/js/ : enGittry.js
- document.write(“entry.js is work”服务器怎样建立);
- 创github永久回家地址建主页面:appointment dist/index.html
<scriptgiti type="text/java服务器怎样建立script" srcgitee="https://juejin.im/post/6996665giti311260835854/bundle.js"></script>
- 编译js
- webpack src/htmljs/entry.html标签特点大全js dist/bundle.js
- 检查页面作用
5、增加js/json文件
- 创立第二个js: src/js/math.js
export function squagit教程re(x) { returnhttp 302 x * x; } export function cube(x) { return x服务器ip * x * x; }
- 创立json文件: src/HTMLjson/data.json
{ "name": "Tom", "age": 12 }
- 更新进口jgithup官网s : entry.js
import {cube} from './math' import data from '../json/data.json' //留神data会主动被转git教程化为原生的js政giti策或许数服务器内存和普通内存有什么区别组 document.write("ehttpclientntry.js is work <bgithub永久回家地址r/>"); document.write(cube(2) + '<br/>'); document.wr服务器怎样搭建ite(JSON.stringify(data) + '<app是什么意思br/>')
- 编译js:
webpack src/js/entry.js diHTTPst/bundle.js
- 检查页面作用
6、运用webpack装备文件
- 创立webpack.config.服务器租借多少钱一年js
const path = require('path'); //path内置的模块,用来设git教程置途径。 module.exports = { entrgithub永久回家地址y: './src/js/e服务器租借ntry.js', // 进口文件 output: { // 输出装备 fGitilename: 'bun服务器装备dle.js', // 输出文件名 path:服务器内存和一般内存有什么差异 patapproveh.resolve(__dirname, 'dist') //输出文件途径装备 } };
- 装备npm指令: package.json
"scripts": { "build": "webpack" },
- 打包运用appointment
npm run buildhttp://192.168.1.1登录
7、打包css和图片文件
- 设备款式的loade服务器体系r
npm install css-loader style-loader --sa服服务器体系务器怎样建立ve-dev
npm install file-lohttp://www.baidu.comader url-loader --shtml5ave-dev
补偿:url-loader是方针file-loader的上层封装,运用时需协作file-loader运用http://www.baidu.comhtml标签。
- 装备loadegitir
module: { rules: [ { test: /.css$/, use: [ 'stylhttp://192.168.1.1html文件怎样翻开登录e-loader', 'css-loader' ] }, { testhtml文件怎样翻开: /.(png|jpg|gif)$/, use: [ { loader: 'url-loader', oappstoreptions: {html标签特点大全 limit: 8192 } } ] } ] }
- 向运用中增加2张图片:
- 小图: img/logo.applicatiohttp://www.baidu.comnpng
- 大图: img/big.jpg
- 创立款式appear文件: src/chtml是什么意思ss/test.css
body { background: url('.github是干什么的./img/loghttp 302o.jpg') }
- 更服务器ip新进口js : entry.js
- import ‘../css/test.cAPPss’
- 增加css款式
#box1{ width: 300px; height: 300px; background-image: urlappearance("../imgitlabage/logo.jpg"); } #box2{ widgiteeth: 300px; height: 300px; background-image: url(".html简单网页代码./imgithub是干什么的age/big.jpg"); }
- index.html增加元素
<div id="box1"></div> <div id="box2"></div>
- 实行打包指令:
npm run build
- 发现问题:
- 大图无服务器怎样搭建法打包到entry.jshttps和http的差异文件中,index.html不在生成资源目录下。
- 页面加载图片会在地址目录方位查approach找,导html个人网页无缺代码致页面加载图片时分html标签大图途径无appointment法找到
- 处理办法:giti轮胎https和http的区别是什么品牌
- 运用publiHTMLcPath : ‘dist/jappstores/’ //设置为index.html供给资源的途径,设置完后找悉数的资源都会去当时目录下找。
- 将index.html放在dist/js/也能够处服务器装备理。
8、主动编译打包
- 运用webpack开发服务器东西: whtml文件怎样翻开ehttp 302bpappleack-dev-server
- 下载
- npm install –httpwatch–服务器地址在哪里看save-dev webpack-dev-server
- wehttpwatchbpaapp是什么意思ck装备
devServer: { contentBase: './dist' },
- package装备
- “start”: “webpack-dev-server –opeHTTPn”http协议
- 编译打包运用并作业服务器地址在哪里看
- npm s服务器租借多少钱一年thttp 500art
9、运用webpack插件
- 常用的插件
- 运用html-webpack服务器体系-pluapproachgin依据模板html生成引入scripthtml个人网githup官网页无缺代https和http的区别码的页面
- 运用cleapproveanhtml代码-webpack-plugin根除dist文件夹
- 运用uglifyjs-webpack-plugin紧缩打包的js文件
- 下载
npm install --save-dev html-webpack-plugin clean-webpack-plugin
- webpack装备
const HtmlWebpackPlug服务器租借多少钱一年in = require('htmlhtml个人网页无缺代码-webpaapproveck-plugin'); //主动giti生成http代理html文件的插html5件 const CleanWebpahttp://192.168.1.approve1登录ckPlugin = require('clean-whttps和http的差异appstoreebpack-plugin'); //根除之前打包的文件 plugins: [ new HtmlWebpackPlugin({template: './inapp是什么意思dex.html'}), negiteew CleanWebpackPlugin(['dist']), ]
- 创立页面: index.html
<!DOCTYPE html>github永久回家地址; <html lang="en"> <head> <meta charset="UTF-8"> <title>webpgithuback test</title> </html代码head> <body> <div id="app"></div> <!--HTML打包文件github将主动经过script标签注入到此处--> &amappearancep;l服务器和电脑主机的差异t;/body> </htm服务器租借l>
- 打包html5作业项目
npmhttp协议 run build npm start
2.webpack.config.js文件装备。
const path = require('path');
const HtmlWebpacGitkPlugin = require('html-webpack-plug服务器装备in'); //主动生成htmhtml个人网页无缺代码l文件的插件
const CleanWebpackPlugin = require('clean-webpack-plugin'); //根Git除之前打包的文件
modgithub中文官网网页ule.exports =服务器体系 {
entry: './src/js/entry.js',
output: {
filename: 'bundle.js',
// pub服务器是什么licPath : 'dist/js/',
path: path.resolve(__dirname, 'digithub中文官网网页st/js')github中文官网网页
},
module: {
rules: [
{
test: /.css$/HTMhttp://192.168.1.1登录L,
use: [
'style-lhtml文件怎样翻开oader',
'css-loader'
]
},
{
test: /.(pnggitee|jpg|gif)$/,
use: [
{
loader: 'url-loader',
o服务器地址在哪里看ptions: {
limit: 8html简单网页代码192
}
}
]
}
]
},
plugins: [
new HtmlWebpackPlugin({template: './in服务器是什么dex.html'}),
new Cl服务器eanWebpackPlugin(['digithup官网stHTML']),
]
};