国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

webpack原理及使用解析

doodlewind / 1916人閱讀

摘要:二打包原理和組成。標(biāo)識(shí)打包結(jié)束的導(dǎo)出文件路徑和文件名。可以執(zhí)行范圍更廣的任務(wù)后續(xù)更新可以選擇和模式,內(nèi)部會(huì)進(jìn)行相應(yīng)的優(yōu)化。項(xiàng)目中使用本地調(diào)試,配置跨域請(qǐng)求配置服務(wù)器域名配置屬于模塊,配置服務(wù)器域名其中請(qǐng)求接口實(shí)例瀏覽器請(qǐng)求鏈接

webpack是JavaScript前端靜態(tài)資源打包器(module bundler)。

一、實(shí)例應(yīng)用
①首先安裝webpack(可以全局安裝,也可以局部安裝)

全局:cnpm install -g webpack
局部:cnpm install --save-dev webpack

②安裝webpack-cli(webpack4+需要,用于在命令行運(yùn)行webpack)

npm install --save-dev webpack-cli

③創(chuàng)建package.json文件(NPM的標(biāo)準(zhǔn)說明文件,包含項(xiàng)目的基本信息、模塊依賴、運(yùn)行的腳本信息)

cnpm init(執(zhí)行時(shí),需要數(shù)據(jù)項(xiàng)目的相關(guān)信息,可跳過)
cnpm init -y(全都默認(rèn))

④創(chuàng)建webpack.config.js文件(webpack的配置文件,需手動(dòng)創(chuàng)建,可在任何位置,一般在整個(gè)文件夾的首層子目錄)

一個(gè)簡單的webpack.config.js配置:

module.exports = {
  entry:  __dirname + "/src/main.js",//已多次提及的唯一入口文件
  output: {
    path: __dirname + "/public",//打包后的文件存放的地方
    filename: "bundle.js"http://打包后輸出文件的文件名
  }
}

⑤入口文件main.js(作為入口文件,里面寫入需要依賴的模塊。。。鏈?zhǔn)揭蕾嚕?/strong>

一個(gè)簡單的main.js文件:

const greeter = require("./Greeter.js");//main.js依賴的模塊,Greeter.js依次鏈?zhǔn)揭蕾囅氯?document.querySelector("#root").appendChild(greeter());

⑥執(zhí)行打包
運(yùn)行webpack命令,即可執(zhí)行webpack.config.js
簡潔的執(zhí)行打包命令,需要在pakeage.json中的script屬性中配置:
一個(gè)簡單的package.json配置文件

{
  "name": "webpack-sample-project",
  "version": "1.0.0",
  "description": "Sample webpack project",
  "scripts": {
    "start": "webpack" // 修改的是這里,JSON文件不支持注釋,引用時(shí)請(qǐng)清除
  },
  "author": "zhang",
  "license": "ISC",
  "devDependencies": {
    "webpack": "3.10.0"
  }
}

npm的start命令是個(gè)特殊的命令,可直接執(zhí)行npm start,一般情況下執(zhí)行腳本命令的格式是 npm run {script name}例如npm run bulid。

二、webpack打包原理和組成。

webpack由四個(gè)核心概念:入口(entry)、出口(output)、loader、插件(plugins)。

entry:表示webpack打包開始的入口文件。
output:標(biāo)識(shí)webpack打包結(jié)束的導(dǎo)出文件(路徑和文件名)。
loader:轉(zhuǎn)換非JavaScript文件(webpack只能識(shí)別js文件),如Typescript、css、scss等,可配置對(duì)某一文件類型做具體的loader轉(zhuǎn)化。
plugins:可以執(zhí)行范圍更廣的任務(wù)(后續(xù)更新……)
module:可以選擇development和production模式,webpack內(nèi)部會(huì)進(jìn)行相應(yīng)的優(yōu)化。

項(xiàng)目中使用
1??本地調(diào)試,配置跨域請(qǐng)求
vue2:
config-->index.js配置

module.exports = {
    dev: {
        assetsSubDirectory: "static",
        assetsPublicPath: "/",
        proxyTable: {
            "/baseURL/": {
                target: "http://110.221.9.210:8090",//服務(wù)器域名
                changeOrigin: true,
                pathRewrite: {
                    "^/baseURL": "baseURL"
                }
            }
        },
        host: "localhost",
        port: 8080,
    }
}

build-->webpack.base.conf.js配置

module.exports = {
    entry: {},
    output: {},
    resolve: {
        extensions: [".js",".vue",".json"],
        alias: {
            "@": resolve("src")//resolve屬于path模塊,path.resolve()
        }
    }
}

vue3:
vue.config.js配置

let path = require("path");
function resolve(dir){
    return path.join(_dirname, dir)
}
module.exports = {
    devServer: {
        proxy: {
            "/baseURL": {
                target: "http://110.221.9.210:8090",//服務(wù)器域名
                changeOrigin: true,
                pathRewrite: {
                    "^/baseURL": "baseURL"
                }
            }
        }
    },
    chainWebpack: config => {
        config.resolve.alias
        .set("@",resolve("src"))
    }
}

其中axios.default.baseURL = "/baseURL"
請(qǐng)求接口實(shí)例:
this.$axios.get("/urlLev1/urlLev2/info.json").then(……)
瀏覽器請(qǐng)求鏈接:http://110.221.9.210:8090/baseURL/urlLev1/urlLev2/info.json

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/103675.html

相關(guān)文章

  • 最全的前端模塊化方案

    摘要:模塊化主要是用來抽離公共代碼,隔離作用域,避免變量沖突等。將一個(gè)復(fù)雜的系統(tǒng)分解為多個(gè)模塊以方便編碼。順手寫一個(gè)省略省略實(shí)現(xiàn)此時(shí)的對(duì)應(yīng)的形式解析省略執(zhí)行兼容,模塊化語法。 模塊化主要是用來抽離公共代碼,隔離作用域,避免變量沖突等。將一個(gè)復(fù)雜的系統(tǒng)分解為多個(gè)模塊以方便編碼。 會(huì)講述以下內(nèi)容 CommonJS AMD 及 核心原理實(shí)現(xiàn) CMD 及 核心原理實(shí)現(xiàn) UMD 及 源碼解析 ES6...

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

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

    khs1994 評(píng)論0 收藏0
  • 【進(jìn)階3-5期】深度解析 new 原理模擬實(shí)現(xiàn)

    摘要:使用指定的參數(shù)調(diào)用構(gòu)造函數(shù),并將綁定到新創(chuàng)建的對(duì)象。由構(gòu)造函數(shù)返回的對(duì)象就是表達(dá)式的結(jié)果。情況返回以外的基本類型實(shí)例中只能訪問到構(gòu)造函數(shù)中的屬性,和情況完全相反,結(jié)果相當(dāng)于沒有返回值。 定義 new 運(yùn)算符創(chuàng)建一個(gè)用戶定義的對(duì)象類型的實(shí)例或具有構(gòu)造函數(shù)的內(nèi)置對(duì)象的實(shí)例。 ——(來自于MDN) 舉個(gè)栗子 function Car(color) { this.color = co...

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

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

0條評(píng)論

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