您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關webpack4.x開發環境配置的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
一、全局安裝webpack
如果我們按照舊版本的安裝方式,直接使用npm全局安裝webpack,我們預期全局安裝webpack后,便能在命令行中使用webpack指令。我們在命令行輸入:
npm install -g webpack
當執行該操作后,便在C:\Users\你的用戶名\AppData\Roaming\npm\node_modules創建了webpack文件夾,里面存儲了剛剛全局安裝的webpack模塊。
二、創建項目
我們在合適位置新建一個文件夾webpack-test,用于存放我們的項目。
命令行中定位到webpack-test文件夾下,輸入以下命令進行項目的初始化:
npm init
這里,要求設置很多選項,可以按項目情況配置也可以不填直接回車。完成后,我們發現文件夾中增加了package.json文件,它用于保存關于項目的信息。
三、嘗試打包出現提示
我們在項目根目錄新建一個文件hello.js,并在其中輸入代碼:
function hello(str) { alert(str); } hello('hello world!');
然后,我們便可以滿懷期待地嘗試打包,在命令行輸入:
webpack hello.js bundle.js
意思是將hello.js打包成另一個文件bundle.js。但很不幸,4.1.1版本會提示:
The CLI moved into a separate package:webpack-cli.
Please install 'webpack-cli' in addition to webpack itself to use the CLI.
->when using npm: npm install webpack-cli -D
->when using yarn: yarn add webpack-cli -D
翻譯成中文:
CLI(命令行工具)已經轉移到了一個單獨的包webpack-cli中。
除了webpack自身外,請額外安裝webpack-cli來使用CLI。
-> 使用npm安裝:npm install webpack-cli -D
->使用yarn安裝:yarn add webpack-cli -D
意思是,我們需要額外安裝webpack-cli
,否則便不能在命令行中使用webpack的相關命令。
四、安裝webpack-cli
我們在項目中本地安裝webpack-cli
:
npm install webpack-cli -D
這里-D參數和–save-dev的作用相同,只是一種簡寫而已。筆者這里安裝完成后,顯示webpack-cli版本是2.0.10。
我們在根目錄再次輸入:
webpack hello.js bundle.js
很不幸,還是提示:
The CLI moved into a separate package:webpack-cli.
Please install 'webpack-cli' in addition to webpack itself to use the CLI.
->when using npm: npm install webpack-cli -D
->when using yarn: yarn add webpack-cli -D
這表明我們本地安裝webpack-cli
后并沒有起作用,在命令行中依然不能使用webpack命令。那么是什么地方出了問題呢?
我們不難想到,
舊版本的webpack中,webpack指令要能在命令行中使用,需要全局安裝webpack,而不是本地安裝,因此這里的webpack-cli也應該是同理。
我們卸載本地安裝的webpack-cli,全局安裝webpack-cli:
npm uninstall webpack-cli npm install -g webpack-cli
五、設置模式
我們再次嘗試打包:
webpack hello.js bundle.js
看樣子似乎是可以運行了,但又出現了新的提示:
WARNING in configuration
The 'mode' option has not been set. Set 'mode' option to 'development' or 'production' to enable defaults for this enviroment.
ERROR in multi ./hello.js bundle.js
Module not found:ERROR:Can't resolve 'bundle.js' in 'C:/Users/你的用戶名/Desktop/webpack-test'
@ multi ./hello.js bundle.js
翻譯成中文:
配置警告:
“mode”選項尚未設置。將“mode”選項設為“development”或“production”以啟用此環境的默認設置。
multi錯誤 ./ hello.js bundle.js
未發現模塊:錯誤:無法解析'C:/Users/你的用戶名/Desktop/webpack-test'中的bundle.js
@ multi ./hello.js bundle.js
這里提示我們存在的第一個問題是沒有配置webpack的mode選項,默認有production和development兩種模式可以設置,因此我們嘗試設為development模式,在命令行輸入:
webpack --mode development
我們看到進行了打包并顯示了Hash、Version、Time、Build at信息,表明已經可以打包。不過,仍然有錯誤提示:
ERROR in Entry module not found:ERROR:Can't resolve './src' in 'C:/Users/你的用戶名/Desktop/webpack-test'
翻譯成中文:
未找到入口模塊發生錯誤:錯誤:無法解析'C:/Users/你的用戶名/Desktop/webpack-test'中的'./src'
六、創建入口文件
這表明webpack4.x是以項目根目錄下的'./src'作為入口,但我們的項目中缺乏該路徑,因此我們在根目錄下創建src文件夾,事實上webpack4.x以'./src/index.js'作為入口,單單創建src文件而沒有index.js文件仍然會報錯,因此我們
將hello.js移動到'./src',并重命名為index.js。
現在如果我們再次執行
webpack index.js bundle.js
會提示can.t resolve
相關的錯誤。
原因是,webpack4.x的打包已經不能用webpack 文件a 文件b
的方式,而是直接運行webpack --mode development
或者webpack --mode production
,這樣便會默認進行打包,入口文件是'./src/index.js',輸出路徑是'./dist/main.js',其中src目錄即index.js文件需要手動創建,而dist目錄及main.js會自動生成。
因此我們不再按webpack 文件a 文件b
的方式運行webpack指令,而是直接運行
webpack --mode development
或者
webpack --mode production
這樣便能夠實現將'./src/index.js'打包成'./dist/main.js'。
不過每次都要輸入這個命令,非常麻煩,我們在package.json中scripts中加入兩個成員:
"dev":"webpack --mode development", "build":"webpack --mode production"
以后我們只需要在命令行執行npm run dev
便相當于執行webpack --mode development
,執行npm run build
便相當于執行webpack --mode production
。
我們在根目錄執行:
npm run dev
可以看到根目錄下生成了dist目錄,并且dist目錄下生成了main.js文件,main.js文件已經打包了src目錄下index.js文件的代碼。
七、配置其他參數
我們如果需要配置webpack指令的其他參數,只需要在webpack –mode production/development
后加上其他參數即可,如:
webpack --mode development --watch --progress --display-modules --colors --display-reasons
當然,這也可以寫入package.json的scripts之中。
八、總結
我們可以將以上探索進行整理總結,首先是注意事項:
1、webpack-cli必須要全局安裝,否則不能使用webpack指令;
2、webpack也必須要全局安裝,否則也不能使用webpack指令。
3、webpack4.x中webpack.config.js這樣的配置文件不是必須的。
4、默認入口文件是./src/index.js,默認輸出文件./dist/main.js。
配置步驟:
1、創建工程目錄;
2、初始化工程目錄:npm init。
3、全局安裝webpack-cli。
4、全局安裝webpack。
5、webpack –mode development/production進行打包,可在package.json中配置dev和build的腳本,便只需運行npm run dev/build,作用相同。
6、在webpack –mode development/production可串聯設置其他參數。
關于“webpack4.x開發環境配置的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。