webpack4.x踩坑記(一)

使用npm安裝webpack報(bào)錯(cuò):

Refusing to install package with name "webpack" under a package
報(bào)錯(cuò)原因:package.json文件的name包含名稱webpack武学。

webpack4.x打包總結(jié):

1 使用語句:npm install webpack webpack-cli -D 安裝webpack和webpack-cli。
2 使用語句:npm init -y 進(jìn)行初始化蝗茁。
3 安裝完畢并初始化之后,我們多了一個(gè)package.json文件(內(nèi)容如下):

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.28.2",
    "webpack-cli": "^3.1.2"
  }
}

4 package.json 文件下script里面添加pack語句:"pack":"node_modules/.bin/webpack"
需要注意兩個(gè)問題:(1) 需要進(jìn)入node_modules/.bin/webpack析桥,不能直接使用webpack來打包(會(huì)重復(fù)提示安裝webpack-cli)因此皮迟,我們的pack 需要加上node_modules/.bin/webpack (2)新版本打包中間需要加-o 哥倔。

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "pack":"node_modules/.bin/webpack index.js -o index.bundle.js",
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.28.2",
    "webpack-cli": "^3.1.2"
  }
}

5 使用npm run pack將home.js(可自行創(chuàng)建)打包,輸出home.bundle.js文件:

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}}...

6 打包之后提示黃色警告 : The 'mode' option has not been set......
執(zhí)行pack打包的時(shí)候提示黃色警告小腊,而且觀察上述home.bundle.js文件救鲤,發(fā)現(xiàn)并不是我們想要的文件,這是因?yàn)閣ebpack4.x之后引入了mode(模式):一個(gè)是開發(fā)環(huán)境:development 秩冈,另外一個(gè)是生產(chǎn)環(huán)境:production本缠。我們需要更改上述pack打包語句:

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    //將pack刪除,添加dev和build
    "dev": "node_modules/.bin/webpack index.js -o index.bundle.js --mode development",
    "build": "node_modules/.bin/webpack index.js -o index.bundle.js --mode production"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.28.2",
    "webpack-cli": "^3.1.2"
  }
}

7 然后在使用npm run dev 或者npm run build語句入问。打包之后不在有黃色的警告了丹锹,說明打包成功了。最后我們?cè)趆ome.bundle.js文件里面寫的內(nèi)容被打包成了這樣:

eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./js/base.js\");\n\r\n\r\nif(_base__WEBPACK_IMPORTED_MODULE_0__[\"open\"]){\r\n    document.body.innerHTML = '<a href=\"signup.html\">注冊(cè)</a>';\r\n}else{\r\n    document.body.innerHTML = '<div>請(qǐng)登錄</div>';\r\n}\r\n\n\n//# sourceURL=webpack:///./js/home.js?");

8 在前面打包的時(shí)候芬失,都是直接在pack楣黍,dev,build腳本里面直接指定將某個(gè)文件打包成
指定文件(例如添加這個(gè)語句:index.js -o index.bundle.js表示將index.js打包成index.bundle.js)棱烂。這樣很麻煩租漂,如果我們需要打包很多不同的文件,還需要一個(gè)一個(gè)寫腳本颊糜,于是我們可以使用另一種方法哩治,在webpack.config.js文件里面指定需要打包的文件。我們首先在更目錄下面創(chuàng)建webpack.config.js文件:


01.png

打開webpack.config.js文件按如下格式書寫:

module.exports = {
    //入口
    entry:{
        //定義要打包的文件衬鱼,可以配置多個(gè)文件锚扎。
        index:'./js/index.js',
        home:'./js/home.js'
    },
    //出口
    output:{
        //定義要輸出的文件名稱 其中[name]就表示entry里面的index,home。
        //__dirname表示當(dāng)前項(xiàng)目目錄 + /dist 表示項(xiàng)目下的dist文件夾(會(huì)自動(dòng)創(chuàng)建)馁启,最后被打包的文件都會(huì)保存在這個(gè)文件夾里面。
        filename : '[name].bundle.js',
        path : __dirname + '/dist'
    }
};

9 現(xiàn)在可以將package.json文件中的的 pack,dev惯疙,build語句修改翠勉,刪除index.js -o index.bundle.js部分。然后在控制臺(tái)輸入npm run webpack開始打包霉颠。最后得到一個(gè)dist文件夾对碌,文件夾里面就是我們想要得到的打包文件:index.bundle.js,home.bundle.js蒿偎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末朽们,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诉位,更是在濱河造成了極大的恐慌骑脱,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苍糠,死亡現(xiàn)場(chǎng)離奇詭異叁丧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)岳瞭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門拥娄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞳筏,你說我怎么就攤上這事稚瘾。” “怎么了姚炕?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵摊欠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我钻心,道長(zhǎng)凄硼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任捷沸,我火速辦了婚禮摊沉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痒给。我一直安慰自己说墨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布苍柏。 她就那樣靜靜地躺著尼斧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪试吁。 梳的紋絲不亂的頭發(fā)上棺棵,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天楼咳,我揣著相機(jī)與錄音,去河邊找鬼烛恤。 笑死母怜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缚柏。 我是一名探鬼主播苹熏,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼币喧!你這毒婦竟也來了轨域?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤杀餐,失蹤者是張志新(化名)和其女友劉穎干发,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怜浅,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铐然,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恶座。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搀暑。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖跨琳,靈堂內(nèi)的尸體忽然破棺而出自点,到底是詐尸還是另有隱情,我是刑警寧澤脉让,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布桂敛,位于F島的核電站,受9級(jí)特大地震影響溅潜,放射性物質(zhì)發(fā)生泄漏术唬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一滚澜、第九天 我趴在偏房一處隱蔽的房頂上張望粗仓。 院中可真熱鬧,春花似錦设捐、人聲如沸借浊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚂斤。三九已至,卻和暖如春槐沼,著一層夾襖步出監(jiān)牢的瞬間曙蒸,已是汗流浹背捌治。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逸爵,地道東北人具滴。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像师倔,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子周蹭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1 Webpack 1.1 概念簡(jiǎn)介 1.1.1 WebPack是什么 1趋艘、一個(gè)打包工具 2、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 6,677評(píng)論 0 16
  • This project was bootstrapped with Create React App. Belo...
    unspecx閱讀 5,184評(píng)論 0 2
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,480評(píng)論 2 71
  • 我愛瞎想凶朗,我易感動(dòng)瓷胧,易滿足,我沒記性棚愤,刀子嘴豆腐心搓萧,一路走來,我不優(yōu)秀宛畦,但我善良瘸洛;我認(rèn)定的東西我會(huì)一直去守候...
    王霞笑口常開閱讀 303評(píng)論 0 3
  • 剛走出酒吧沒多遠(yuǎn),張山就看見路燈下的便道牙子上坐著一個(gè)人次和,定睛一看正是打她的男人反肋。她真想上前踹他一腳,又怕惹了精神...
    梅花貓閱讀 2,263評(píng)論 0 2