Es6 寫的文件import 起來解決方案詳解
這段時間,學(xué)習(xí)了一點關(guān)于es6新規(guī)范的知識,然后心血來潮,想嘗試一下用ES6編寫的代碼在瀏覽器中跑起來。
說干就干,先說下我的實現(xiàn)步驟(沒想到有坑?。?/p>
- 把ES6代碼轉(zhuǎn)譯成ES5;
- html文件引入轉(zhuǎn)譯后的ES5;
- 然后在瀏覽器環(huán)境中運行;
- 在node環(huán)境中運行;
然后下面是我的一些目錄結(jié)構(gòu),大致預(yù)覽一下。
src,es6開發(fā)目錄

dist,es5生產(chǎn)目錄

test,一個測試目錄

然后,看一下我的ES6開發(fā)的一些js是什么樣子。
file
file2
app 
test 
然后我們在html中引入dist中的經(jīng)過轉(zhuǎn)譯的文件

在瀏覽器中測試,test中因為沒引入模塊,所以正常執(zhí)行,app中因為引入了模塊,而且是CommonJS規(guī)范,但是瀏覽器不支持這種規(guī)范,因此報錯

假如,我們?yōu)榱藴y驗,就給html加上requireJS文件,瀏覽器支持AMD/CMD規(guī)范。異步加載定義。
但是,我們發(fā)現(xiàn),還是會報錯,說明語法不支持,或者兩者沖突了,因為一種是AMD,一種是CommonJS。
由于我們通過node來編譯ES6成ES5,node模塊就是參照CommonJS規(guī)范來的,所以ES5的語法,也屬于CommonJS規(guī)范,而且現(xiàn)在的瀏覽器和node都不支持ES6的規(guī)范或大部分不支持。
解決方法
經(jīng)過查閱資料,發(fā)現(xiàn)可以通過webpack打包工具來將依賴合并成一個文件,然后引入html中。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- JavaScript學(xué)習(xí)筆記之ES6數(shù)組方法
- JavaScript中ES6 Babel正確安裝過程
- 深入理解React中es6創(chuàng)建組件this的方法
- 詳解JavaScript ES6中的模板字符串
- JavaScript ES6中CLASS的使用詳解
- 解析JavaScript的ES6版本中的解構(gòu)賦值
- JavaScript ES6的新特性使用新方法定義Class
- 深入淺析react native es6語法
- ES6所改良的javascript“缺陷”問題
- ES6中如何使用Set和WeakSet
- 詳解Javascript ES6中的箭頭函數(shù)(Arrow Functions)
- 簡單談?wù)凟S6的六個小特性
- ES6生成器用法實例分析
相關(guān)文章
javascript學(xué)習(xí)筆記(十五) js間歇調(diào)用和超時調(diào)用
javascript學(xué)習(xí)筆記之js間歇調(diào)用和超時調(diào)用介紹,學(xué)習(xí)js的朋友可以參考下2012-06-06
JavaScript arguments 多參傳值函數(shù)
在一個函數(shù)體內(nèi),標(biāo)識符arguments引用了arguments對象的一個特殊屬性??梢园凑諗?shù)目(而不是名字)獲取傳遞給函數(shù)的參數(shù)值。2010-10-10
JavaScript中用sort()方法對數(shù)組元素進(jìn)行排序的操作
這篇文章主要介紹了JavaScript中用sort()方法對數(shù)組元素進(jìn)行排序的操作,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
解析DHTML,JavaScript,DOM,BOM以及WEB標(biāo)準(zhǔn)的描述
本篇文章是對DHTML,JavaScript,DOM,BOM以及WEB標(biāo)準(zhǔn)進(jìn)行了詳細(xì)的描述介紹,需要的朋友參考下2013-06-06

