早期的構建工具grunt ,gulp css
幫助咱們配置一些開發環境,省去一些咱們調試和重複的工做html
如今咱們的構建工具通常是webpack ,目前建議你們用3.0以上的版本前端
如今市場上比較優秀的構建工具,我的認爲有2個(大神有不一樣意的請不要噴我😝)vue
1-webpacknode
2-fls3webpack
fls3是百度提供的前端構建工具,文檔都是中文的,很方便入手,因爲我使用vue習慣了es6
腳手架依賴webpack,因此我的一直使用webpackweb
npm
- 安裝
- 若是安裝全局,可能會致使版本的差別,都安裝到項目開發依賴中
,可使每一個人的版本統一json
npm install webpack --save-dev
- 在package.json中配置腳本
scripts:{
"build":"webpack"
}
- 執行webpack
npm run build
- 在當前目錄下新建一個webpack.config.js
- 名字必定是webpack.config.js,不能錯,不能更改
- webpack是基於node語法
//引進一個node核心模塊path let path=require('path'); module.exports={ //打包的入口 entry:"./src/main.js", //打包出口 output:{ filename:"bundle.js",//打包後的文件名 //path必須是絕對路徑 //path.resolve將相對路徑轉絕對路徑 path:path.resolve('./dist') //打包後文件的路徑 } }
- babel-core是babel的核心包,使用babel必須安裝
- babel-loade是babel的翻譯官,可是他沒有語法
- 配置轉換es5語法必需要讓babel的翻譯官有語法 babel-preset-es2015
安裝上面的es6解析的包
npm install babel-core babel-loader babel-preset-es2015 --save-dev
配置模塊部分轉換es5語法
- 在當前目錄下新建一個.babelrc文件
{
"presets": ["es2015"]
}
- 第二步在webpack.config.js中增長一個modlue配置
- 在modlue模塊規則rules裏配置一條js規則
//模塊配置 module:{ //給模塊配置規則 rules:[ { //匹配js,使用babel-loade,但無論node_modules目錄下面的 //若是用到babel-loader,須要配置babelrc test:/|.js$/,use:'babel-loader', exclude:/node_modules/ } ] }
- es2015 stage-3 stage-2 stage-1 stage-0(最高級)
- 先按照依賴包
npm install babel-preset-stage-0 --save-dev
- 在.babelrc文件下增長一個stage-0
{
"presets": ["es2015","stage-0"]
}
npm install css-loader style-loader --save-dev
- 在webpack.config.js中模塊module中規則rules裏面增長一個css解析配置
{ //將css文件匹配到先解析css 再將css插入到style中,寫法從右往左寫 test:/\.css$/,use:['style-loader','css-loader'], exclude:/node_modules/ }
npm install less less-loader --save-dev
- 在webpack.config.js中模塊module中規則rules裏面增長一個less配置
{ //將css文件匹配到先解析css 再將css插入到style中,寫法從右往左寫 test:/\.less$/, //包依賴 use:['style-loader','css-loader','less-loader'], exclude:/node_modules/ }
- 若是使用js引入圖片,默認不會進行打包文件
- 若是是背景圖片他會去打包
- 在js引用文件,要import 引入圖片
- import img from './1.jpg'
npm install file-loader url-loader --save-dev
- 在webpack.config.js中模塊module中規則rules裏面增長一個圖片配置
{ //將css文件匹配到先解析css 再將css插入到style中,寫法從右往左寫 test:/\.(png|jpg|gif|woff|svg|eot|woff2|ttf)$/, //包依賴 限制8K以上直接輸出文件,如下的base64 // 8*1024 多少字節 use:'url-loader?limit=8192', exclude:/node_modules/ }
打包html以src下的html做爲模板,將打包後的文件引入
npm install html-webpack-plugin --save-dev
npm run build
- 會執行輸出實體文件,項目大時候,速度很慢
- 上線時候才npm run build
npm run dev
- 通常咱們會在本地跑一個服務,當文件變化,刷新瀏覽器
npm install webpack-dev-server --save-dev
- 配置webpack裏面的dev命令
"scripts": {
"dev":"webpack-dev-server --open"
},
webpack 基礎包總結
npm install webpack babel-core babel-loader babel-preset-es2015 babel-preset-stage-0 css-loader style-loader less-loader sass-loader less stylus-loader file-loader url-loader html-webpack-plugin webpack-dev-server --save-dev
謝謝你們 😁