vue-webpack.config.js和package.json配置


在上一篇我們講過,將src打包到dist,使用如下的命令:

webpack ./src/main.js ./dist/bundle.js

但一般不會這樣做,原因在於太長了,我們希望直接使用webpack來進行打包,這樣就得在項目的根錄下配置一個webpack.config.js文件,配置內容如下:

   糾正:__dirname應該得到當前配置文件的所在目錄的絕對路徑

   在終端使用命令: webpack,他會去讀取entry 和 output的路徑,來達到 webpack ./src/main.js ./dist/bundle.js這條命令的效果了。

  但我還要說一下,並不是創建webpack.config.js,然后配置上面這些東西那么簡單的,一般創建一個項目后,需要對該項目進行初始化,在終端使用命令:npm init,他的意思是將項目所有的依賴統一管理,然后會在該項目目錄下創建一個package.json的一個文件,這個文件是用來管理項目的信息和依賴,就相當於maven的pom.xml;

  有了package.json后,我們一般會在里面定義一些項目要用到的依賴,然后使用npm install來安裝依賴,接着會生成一個node_modules的文件夾,里面則是全部的依賴。

  到了這樣,其實又要變更了,平時開發也不會單單使用 ‘webpack’這一條命令進行打包,還會連續使用多條命令對項目進行構建,但不可能每條都進行手敲吧,因此這些命令也會預先在package.json定義起來,如下:

 

   到時候我們只要執行scirpts中的腳本即可,比如 npm run test 或 npm run build 就會執行腳本中的命令了;說到這里又會出現一個小問題了(真是想吐了),如果是在終端執行webpack相關的命令,他是優先從全局進行查找的,然后再本地項目,假設 全局安裝的webpack是4.0版本,本地項目用到是3.0,那在終端使用的webpack命令則是4.0的;與此相反,在script腳本執行的webpack命令是先本地項目,后全局的;

  這個會出現什么樣的問題呢?假設你從github上面拖了一個項目下來,該項目使用的webpack是3.0版本的,但你全局是4.0版本,剛好在終端命令直接敲webpack命令,那就會使用webpack4.0來進行打包,這個過程可能存在很多的問題的,因此通常一個項目下載下來,需要安裝他自己的webpack,即 npm install webpack@3.6.0 --save-dev;--save-dev表示webpack在開發時使用,webpack的依賴不會存在打包后的依賴中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM