使用webpack打包工具實現瀏覽器支持es6模塊

瀏覽器目前對於es6的支持有限。我們通常會使用babel轉碼器經es6轉爲es5實現瀏覽器的支持。但是babel默認只轉換新的JavaScript句法(syntax),而不轉換新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局對象,以及一些定義在全局對象上的方法(比如Object.assign)都不會轉碼。而且像import和export這兩個命令現在在任何瀏覽器中都是不支持的, 同時babel也無法將其轉換爲瀏覽器支持的ES5, 原因在於:babel只是個翻譯,假設a.js 裏 import 了 b.js, 對a.js進行轉碼,只是翻譯了a.js,並不會把b.js的內容給讀取合並進來, 如果想在最終的某一個js裏,包含 a.js,b.js 的代碼,那就需要用到打包工具

一、 node.js的安裝,請參考點擊打開鏈接。記住一定要配置環境變量。否則後面會引起很多問題。

二、下列的安裝教程基於node 的4.4.1版本。因爲node的不同版本會有差異。(之前按照網上的教程安裝和使用webpack,總是在命令行出現webpack不是可執行的程序,搞了兩天,才發現,原來時node的版本問題。   1.

 1。全局安裝webpack 。命令行輸入npm install webpack -g

 2.全局安裝webpack。     命令行輸入npm install webpack-cli -g

       ps:全局安裝是爲了在命令行中直接使用webpack。

 3.新建項目文件夾test。

4.命令行定位到項目文件夾,命令行輸入npm init。初始化npm包,生成package.json

5.本地安裝webpack。命令行輸入npm install webpack -D

   PS:-D是  --sav-dev的簡寫

  --save:將保存配置信息至package.json(package.json是nodejs項目配置文件);

  -dev:保存至package.json的devDependencies節點,不指定-dev將保存至dependencies節點;

       一般保存在dependencies的像這些express/ejs/body-parser等等。

6.本地安裝webpack-cli。命令行輸入npm install webpack -D

    ps:本地安裝後可以直接在本地使用webpack。只是需要輸入項目下的node_module/.bin/webpack.

7.事實上webpack4.x'./src/index.js'作爲入口,因此我們需要創建src文件件,以及index.js的文件,以及其他的      js文件。

8.webpack4.x的打包已經不能用webpack 文件a 文件b的方式,而是直接運行webpack --mode development或者webpack --mode production,這樣便會默認進行打包,入口文件是'./src/index.js',輸出路徑是'./dist/main.js',其中src目錄即index.js文件需要手動創建,而dist目錄及main.js會自動生成。

9.簡化輸入:我們在package.jsonscripts中加入兩個成員:

"dev":"webpack --mode development",
"build":"webpack --mode production"
以後我們只需要在命令行執行npm run dev便相當於執行webpack --mode development,執行npm run build便相當於執行webpack --mode production 
可以看到根目錄下生成了dist目錄,並且dist目錄下生成了main.js文件,main.js文件已經打包了src目錄下index.js文件的代碼。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章