国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法

來源:懂視網 責編:小采 時間:2020-11-27 20:16:37
文檔

使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法

使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法:[TOC]1、開發環境準備1.1 安裝nodejs首先安裝Nodejs,直接去nodejs官網下載,默認會安裝Npm,所以這里可以不用單獨安裝。1.2 使用淘寶Npm鏡像由于國內網絡原因,如果直接使用Npm安裝依賴包會因為網絡和墻的原因導致不成功,好在淘寶給我提供了可以使用的鏡像
推薦度:
導讀使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法:[TOC]1、開發環境準備1.1 安裝nodejs首先安裝Nodejs,直接去nodejs官網下載,默認會安裝Npm,所以這里可以不用單獨安裝。1.2 使用淘寶Npm鏡像由于國內網絡原因,如果直接使用Npm安裝依賴包會因為網絡和墻的原因導致不成功,好在淘寶給我提供了可以使用的鏡像

2.2 安裝Webpack

關于Webpack的概念和作用可以參考這篇博文:https://llp0574.github.io/2016/11/29/getting-started-with-webpack2/?utm_source=tuicool&utm_medium=referral和
。英語好的童鞋可以直接參看官網:http://webpack.github.io/

使用webpack的目的是讓代碼更模塊化,方便維護和管理,這和在Java中用maven來管理包很相似。

2.2.1 安裝

首先,在控制臺輸入命令:npm install webpack,這個命令的作用是讓npm安裝webpack到node_modules(該目錄會自動生成)下。

  • 在產品環境中,以在命令后加上--save,比如:npm install webpack --save,這個意思是說把webpack安裝到node_modules下,并且更新package.json文件的dependencies。

  • 在開發環境中,我們使用:npm install webpack --save-dev,將webpack安裝到Node_modules下,并且更新package.json的devDependencies。
    這里我們使用在開發環境中的命令。

  • 更多的NPM命令可以參看官網:和

    2.2.2 配置

    1.首先,我們再工程目錄下新建src目錄,并在src下新建hello.js文件,文件內寫如下代碼:

    export default function () {const hello = document.createElement("div");hello.textContent = "Hello Webpack!"return hello;}

    這是按照ES6的語法來實現。

    關于ES6的更多內容可以參考這篇文檔:。

    export是定義對外暴露的接口,default是為export提供一個默認輸出,這樣可以在import的時候自定義變量名而不用在import的時候指定export中的變量名。所以這段代碼意思是:默認輸入一個匿名函數。

    2.然后,在hello.js同級下創建main.js,然后輸入如下內容:

    import Hello from "./hello";document.getElementById("app").appendChild(Hello());

    import是將剛才所寫的hello.js文件當做一個模塊導入進來,"Hello"變量就是為這個匿名函數定義變量名,from后面就是被引入的文件地址,如果是js文件默認不用寫,該路徑可以是相對路徑或者絕對路徑,然后用js去從dom獲取app節點,并添加子級元素。

    3.在工程根目錄新建public文件夾,并新建一個Index.html文件,如下:

    然后在Html文件中創建一個div,其id為app,并在body尾處引入script,如下圖:

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Webpack Example</title><body><div id="app" ></div><script type="text/javascript" src="bundle.js?1.1.11"></script></body></html>

    4.在工程目錄下新建webpack.config.js文件,編輯webpack.config.js文件,編寫如下代碼:

    module.exports = {entry: __dirname + "/src/main.js?1.1.11",output: {path: __dirname + "/public",filename: "bundle.js?1.1.11"}}

    __dirname是nodejs中的全局變量,指向當前執行腳本的目錄。
    module.exports是webpack的對象,其中entry是指定入口文件,這里指定main.js為入口文件。output下的path是輸出目錄,filename是輸出文件名稱。通過path和filename組合就可以將我們再代碼中引入的模塊完整的輸出到制定的文件中。

    5.在控制臺執行webpack命令,就可以看到bundle.js文件已經輸出到Public目錄下了

    這個時候通過瀏覽器打開Index.html可以看到效果:

    3、進階Webpack

    上面我們已經可以用webpack來打包我們的模塊,不過這只是剛入門,后面我們會不斷的完善webpack.config.js這個文件。
    從剛才的例子中,我們需要自己手動的在html頁面里面引入bundle.js文件,那么有沒有自動幫我們引入文件的功能呢?回答肯定是有的,這里就介紹下Html-webpack-plugin插件。

    3.1 常用插件

    3.1.1 Html-webpack-plugin插件

    插件官方地址是:,這里只是簡單講解使用。

    1.要使用html插件,首先需要在項目中引入該模塊,在控制臺執行命令:

    npm install html-webpack-plugin --save-dev

    2.編輯webpack.config.js文件,在其中加入以下代碼:

    var HtmlWebpackPlugin = require("html-webpack-plugin");module.exports = {entry: __dirname + "/src/main.js?1.1.11",output: {path: __dirname + "/public",filename: "bundle.js?1.1.11"},plugins: [new HtmlWebpackPlugin()
     ]}

    可以看到,使用require引入html-webpack-plugin,然后在配置中的plugins數組中new一個插件對象。

    3.這個時候我們把public目錄刪除,再在控制臺執行webpack命令,會看到如下:

    注意看紅框部分,首先,title已經被修改了插件默認值;其次,id為app的div已經沒有了。最后,可看到在body末尾插件幫我們把bundle.js插入。

    template屬性
    看插件官網,插件有一個template屬性,可以指定模板文件,插件能按照模板幫我們插入js或者css引用。

    官網地址是:。

    看官網描述,默認會有一個ejs的loader會解析模板,至于ejs是什么?ejs是一個模板語言,在nodejs開發中經常會用到,這里可以把ejs完全當做一個html格式來用。
    所以,在src目錄下,我們新建一個index.temp.ejs文件,并把public下的index.html的內容拷貝到該文件中,并修改至如下:

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Webpack Example</title><body><div id="app" class="custom"></div></body></html>

    可以看到,title已經被我們修改回webpack example了,并且也添加了id為app的div,還刪除了script,接著,刪除Public下的文件。然后我們再控制臺輸入webpack,等webpack打包編譯完成,這時public下生成了bundle.js和index.html文件,編輯index.html文件,可以看到如下信息:

    <!DOCTYPE html>
    <html>
    <head>
     <meta charset="UTF-8">
     <title>Webpack Example</title>
    <link href="styles.css?1.1.11" rel="stylesheet"></head>
    <body>
    <div id="app" class="custom"></div>
    <script type="text/javascript" src="bundle.js?1.1.11"></script></body>
    </html>

    在Body末尾,插件自動給我們把script加上了。

    3.1.2 Extract-text-webpack插件

    如果我們也想把css文件也自動插入,那么就會用到extract-text-webpack插件。

    其官網地址是:。

    官網的usage如下:

    const ExtractTextPlugin = require("extract-text-webpack-plugin");
    
    module.exports = {
     module: {
     rules: [
     {
     test: /\.css$/,
     use: ExtractTextPlugin.extract({
     fallback: "style-loader",
     use: "css-loader"
     })
     }
     ]
     },
     plugins: [
     new ExtractTextPlugin("styles.css?1.1.11"),
     ]
    }

    1.首先還是要先在控制臺輸入命令:

    npm install extract-text-webpack-plugin --save-dev。

    這里要注意:官網只提示安裝extract插件,其實在編譯的時候,還需要style-loader和css-loader,所以還要執行命令:

    npm install style-loader --save-dev
    npm install css-loader --save-dev

    2.然后在webpack.config.js文件上面,require一下這個插件
    3.按照官網的用法,編寫module節點,最后如下所示:

    var HtmlWebpackPlugin = require("html-webpack-plugin");
    var ExtractTextWebpackPlugin = require("extract-text-webpack-plugin");
    module.exports = {
     entry: __dirname + "/src/main.js?1.1.11",
     output: {
     path: __dirname + "/public",
     filename: "bundle.js?1.1.11"
     },
     module: {
     rules: [{
     test: /\.css$/,
     use: ExtractTextWebpackPlugin.extract({
     fallback: "style-loader",
     use: "css-loader"
     })
     }]
     },
     plugins: [
     new HtmlWebpackPlugin({
     template: "./src/index.temp.ejs"
     }),
     new ExtractTextWebpackPlugin("styles.css?1.1.11")
     ]
    }

    注意:

  • test是正則表達式,不是字符串!!!,沒有引號

  • 在webpack2中,module下的loaders改為rules,后者擁有更多的功能

  • 4.接著,我們在src目錄下新建一個index.css文件,并編輯編寫如下樣式:

    .custom{
     font-size: 18px;
     color: bisque;
     border: 1px moccasin solid;
     padding: 5px;
    }

    5.然后,編輯index.temp.ejs文件,在div標簽加入class="custom",如下圖紅框處:

    <!DOCTYPE html>
    <html>
    <head>
     <meta charset="UTF-8">
     <title>Webpack Example</title>
    </head>
    <body>
    <div id="app" class="custom"></div>
    </body>
    </html>

    6.編輯main.js文件,在其頂部Import剛才新建的index.css文件,如下圖:

    import Hello from "./hello";
    import IndexStyle from "./index.css?1.1.11";
    
    document.getElementById("app").appendChild(Hello());

    7.最后,在控制臺輸入命令

    webpack

    編譯完成后,可以看到public目錄下生成了style.css文件,編輯index.html文件,可以看到在Head中引入了Style.css文件,如下圖:

    <!DOCTYPE html>
    <html>
    <head>
     <meta charset="UTF-8">
     <title>Webpack Example</title>
     <link href="styles.css?1.1.11" rel="stylesheet"></head>
    <body>
    <div id="app" class="custom"></div>
    <script type="text/javascript" src="bundle.js?1.1.11"></script></body>
    </html>

    3.2 開發服務器 - Webpack-dev-server

    在開發中,我們會不斷的調試頁面和參數,如果每次都是執行webpack命令未免太累了,所以這里介紹一個開發服務器webpack-dev-server,它提供一個易于部署的服務器環境,并且具有實時重載的功能。

    更多的文檔可以參考:。

    要使用這個功能,首先還先執行npm的安裝命令

    npm install webpack-dev-server --save-dev,

    執行完成后,編輯package.json文件,添加"start"代碼如下:

    "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "start":"webpack-dev-server --progress"}

    "--progress"參數可以查看當前執行進度,在控制臺輸入"npm start"控制臺會打印日志信息,最后出現編譯成功,代表服務啟動完成,這時打開http://localhost:8080,可以看到index.html的內容,如下圖:

    這個時候,編輯hello.js,添加一些字符串如下:

    export default function () {
     const hello = document.createElement("div");
     hello.textContent = "Hello Webpack!This is my example!"
     return hello;
    }

    保存后,打開瀏覽器不用刷新,就可以看到我們新添加的"This is my example"。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法

    使用Vue2.X和Webpack2.X開發SPA應用的環境構建方法:[TOC]1、開發環境準備1.1 安裝nodejs首先安裝Nodejs,直接去nodejs官網下載,默認會安裝Npm,所以這里可以不用單獨安裝。1.2 使用淘寶Npm鏡像由于國內網絡原因,如果直接使用Npm安裝依賴包會因為網絡和墻的原因導致不成功,好在淘寶給我提供了可以使用的鏡像
    推薦度:
    標簽: VUE 使用的 應用的
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久国产欧美日韩高清专区 | 全免费毛片在线播放 | 亚洲日韩第一页 | 欧美日韩亚洲国产无线码 | 夜夜操夜夜骑 | 国产亚洲欧美精品久久久 | 国产手机在线αⅴ片无码观看 | 精品国产一区二区三区久久久蜜臀 | 亚洲最新偷拍 | 亚洲a∨精品一区二区三区下载 | va欧美国产在线视频 | 成a人片亚洲日本久久 | 久久久久久综合一区中文字幕 | 国产高清特黄无遮挡大片 | 九草在线播放 | 四虎免费在线观看视频 | 日韩欧美在线免费观看 | 日韩三级一区二区 | 国产精品免费在线播放 | 亚洲国产成人久久综合野外 | 国产精品久久久久aaaa | 青青草原国产一区二区 | 欧美第一页在线观看 | 日韩欧美国产精品第一页不卡 | 欧美日韩一区二区三区四区 | 国产成人精品一区二区三区… | 欧美成人久久电影香蕉 | 国产精品美女久久久久 | 91久久国产综合精品 | 亚洲精品91 | 亚洲综合欧美日韩 | 碰91精品国产91久久婷婷 | 国产日产高清欧美一区二区三区 | 人与动性xxxxx免费 | 精品成人一区二区三区免费视频 | 欧洲一区二区三区在线观看 | 久久大陆| 日产精品一区二区三区免费 | 亚洲视频久久 | 国产毛片一区二区三区 | 国内精品免费 |