成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

隨我來基于webpack構(gòu)建一個(gè)簡(jiǎn)易的vue腳手架 (webpack系列二)

tomorrowwu / 1012人閱讀

摘要:構(gòu)建文件清理構(gòu)建目錄下的文件打包工具編譯文件模板函數(shù)編譯與配合使用入口處理項(xiàng)目中的不同類型的模塊。

前言
之前有寫了一篇webpack的文章(認(rèn)識(shí)篇) 猛戳,大家對(duì)于webpack基本概念(entry,output,loader,plugin,mode...)應(yīng)該是有了較模糊的認(rèn)識(shí).今天希望在通過(對(duì)于vue-cli的效仿)搭建一個(gè)自己的腳手架的途中對(duì)于概念會(huì)有更深刻的認(rèn)識(shí).
目錄

1:搭建自己的項(xiàng)目模板(template) (基于vue的模板)

2:生成對(duì)應(yīng)的init命令,也就是腳手架構(gòu)建命令以及上傳NPM包 , 方便之后模板的使用 (分開倆篇來講,方便你我 下一篇見)

一: 模板構(gòu)建

先來個(gè)雞湯 (這是個(gè)什么玩意啊怎么這么簡(jiǎn)單,我沒問題分分鐘掌握它) 擺正心態(tài) 那么follow me ?。?!

初步構(gòu)建
mkdir my-vue-cli && cd my-vue-cli   // 新建一個(gè)文件 并進(jìn)入更目錄 `mkdir 是linux命令`
npm init -y   // 初始一個(gè)packjage.json文件  -y 表示跳過詢問步驟...
完善項(xiàng)目結(jié)構(gòu)
//生成如下目錄
  ├── src                                        //源目錄(輸入目錄)
  │?? ├── index.js          
  │?? ├── app.vue                               
+ |── index.html       
  ├── package.json 
  |── webpack.config.js                          //webpack配置文件                        
下載所需要的依賴(不太清楚的依次會(huì)介紹一下)

npm install --save-dev vue
基于vue的那么vue必不可少...不多介紹

npm install --save-dev webpack
基于webpack的那么webpack也必不可少...不多介紹

npm install --save-dev webpack-cli
webpack version 4+ 需要下載webpack-cli(一些指令下文可能涉及到)

npm install --save-dev path
path 模塊提供了一些工具函數(shù),用于處理文件與目錄的路徑。

npm install --save-dev html-webpack-plugin
簡(jiǎn)化了HTML文件的創(chuàng)建 Plugin that simplifies creation of HTML files to serve your bundles

` npm install --save-dev clean-webpack-plugin
用于構(gòu)建時(shí)清理構(gòu)建文件夾下的內(nèi)容 A webpack plugin to remove/clean your build folder(s) before building

npm install --save-dev vue-loader
Vue.js組件加載器(插件)

npm install --save-dev vue-template-compiler
對(duì)于模板的函數(shù)編譯 與vue-loader 配合使用

npm install --save-dev webpack-dev-server
熱更新需要搭建服務(wù)模塊

npm install --save-dev style-loader css-loader
css樣式處理器

項(xiàng)目代碼構(gòu)建

src/index.js

import Vue from "vue"   // 引入vue模塊
import App from "./app.vue"  //引入文件(組件) app

new Vue({                //vue寫法 新建一個(gè)實(shí)例
  el:"#app",             //元素  
  template:"",  // 模板使用標(biāo)簽
  components:{App}   // 組件app
})

src/app.vue





webpack.config.js

const path = require("path");    //path 模塊提供了一些工具函數(shù),用于處理文件與目錄的路徑。
const HtmlWebpackPlugin = require("html-webpack-plugin");   //構(gòu)建html文件
const CleanWebpackPlugin = require("clean-webpack-plugin");  // 清理構(gòu)建目錄下的文件
const webpack = require("webpack");       //webpack打包工具
const VueLoaderPlugin = require("vue-loader/lib/plugin");         // vue-loader 編譯vue文件
const compiler = require("vue-template-compiler")            // 模板函數(shù)編譯 與vue-loader配合使用

module.exports = {
  entry: {       //入口
      "app":"./src/index.js"
  },
  module:{            //處理項(xiàng)目中的不同類型的模塊。
    rules:[      // rules 各種規(guī)則(數(shù)組類型) 每個(gè)規(guī)則可以分為三部分 - 條件(condition),結(jié)果(result)和嵌套規(guī)則(nested rule)
      {
        test:/.css/,
        use: ["style-loader", "css-loader"]   // style-loader 和css-loader 編譯css處理
      },
      {
        test: /.vue$/,
        loader: "vue-loader"         //vue-loader 編譯vue模塊
      }
    ]
  },
  devtool: "inline-source-map",   //生曾map 映射對(duì)應(yīng)代碼  方便錯(cuò)誤查詢
  devServer:{
      contentBase: "./dist",    // 告訴服務(wù)從哪提供代碼內(nèi)容(靜態(tài)文件這么使用)
    hot:true    //hot模式開啟 
  },
  plugins:[
    new CleanWebpackPlugin(["dist"]),  // 告訴清理插件的目錄
    new HtmlWebpackPlugin({            // 構(gòu)建html
         filename:"index.html",      //文件名
         title:"my-vue-cli",            //title
         template:"./index.html",       //參照模板樣式
    }),
    new webpack.HotModuleReplacementPlugin(),  //熱模塊替換開啟
    new VueLoaderPlugin()                 //vue-loader插件開啟
  ],
  output: {        //出口
    filename: "index.js",    //文件名
    path: path.resolve(__dirname, "dist"),   //路徑
    publicPath:""        //srcript 引入路徑
  },
  resolve:{
        //引入路徑是不用寫對(duì)應(yīng)的后綴名
        extensions: [".js", ".vue", ".json"],
        alias:{
            //正在使用的是vue的運(yùn)行時(shí)版本,而此版本中的編譯器時(shí)不可用的,我們需要把它切換成運(yùn)行時(shí) + 編譯的版本
            "vue$":"vue/dist/vue.esm.js",
            //用@直接指引到src目錄下
            "@": path.resolve(__dirname,"./src"),
        }
  },
 
};

package.json添加script命令

"scripts": {
    "test": "echo "Error: no test specified" && exit 1",
    "watch": "webpack --watch",
    "dev":   "webpack-dev-server --open --hot",
    "build": "webpack"
},
npm run dev  運(yùn)行于8080/可看到預(yù)期效果.
npm run build 打包編譯同樣可以看到效果 skr~~~~~~~~~

github代碼倉(cāng)庫(kù),猛戳

結(jié)尾
本篇只是介紹基于vue,webpack的vue-cli簡(jiǎn)易搭建(因?yàn)閕nit構(gòu)建命令這些說好講是好講,但是講太粗怕大家不太明白,那不如多帶帶拿一篇出來讓大家看),根據(jù)本文大家可以根據(jù)需求進(jìn)行完善搞一個(gè)自己的腳手架.之后用自己的開發(fā)..是不是想想挺美~~ 快去行動(dòng)吧.
想提前看看構(gòu)建命令效果的同學(xué) > git倉(cāng)庫(kù)

ps:(有我講的不明白的地方,評(píng)論區(qū)見.我來完善)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99204.html

相關(guān)文章

  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    sutaking 評(píng)論0 收藏0
  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    khs1994 評(píng)論0 收藏0
  • 還不打算去認(rèn)識(shí)一下webpack?

    摘要:前言隨我來去看看為時(shí)未晚第一版較淺顯的知識(shí)懂得可忽略本文方向安裝起步搭建運(yùn)行粗略代過對(duì)于資源的管理對(duì)于輸出的管理舉例介紹本地開發(fā)基礎(chǔ)服務(wù)熱更新模塊熱替換初步認(rèn)識(shí)初步構(gòu)建新建一個(gè)文件并進(jìn)入更目錄是命令初始一個(gè)文件表示跳過詢問步驟安裝 前言 隨我來,去看看webpack!(為時(shí)未晚)============》第一版(較淺顯的知識(shí),懂得可忽略本文) 方向 安裝,起步搭建運(yùn)行. (粗略代...

    Tony_Zby 評(píng)論0 收藏0
  • 2017年1月前端月報(bào)

    摘要:平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。年以前看這個(gè)網(wǎng)址概況在線地址前端開發(fā)群月報(bào)提交原則技術(shù)文章新的為主。 平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個(gè)網(wǎng)址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發(fā)群月報(bào) 提交原則: 技...

    FuisonDesign 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<