ES6模塊的轉碼

瀏覽器目前還不支持ES6模塊,為了實現立刻使用,我們可以將其轉為ES5的寫法.除了Babel可以用來轉碼,還有以下兩個方法也可以用來轉碼:

  1. ES6 moudule transpiler
  2. SystemJS

ES6 moudule transpiler是square公司開源的一個轉碼器,可以將ES6模塊轉為CommonJS模塊或AMD模塊,從而在瀏覽器中使用.

首先,安裝這個解碼器.
$ npm install -g es6-module-transpiler
然后,使用compile-modules convert 命令將ES6模塊文件轉碼
$ compile-modules convert filel.js file2.js
-o 參數可以指定轉碼后的文件名.
$ compile-modules convert -o out.js file1.js

第二種解決方法使用了SystemJS。它是一個墊片庫(polyfill),可以在瀏覽器內加載ES6模塊、AMD模塊和ConmmonJS模塊,將其轉化為ES5格式。它在后臺調用的是Google的Traceur轉碼器.

使用時,先在網頁內載入system.js文件。
<script src=“system.js”> </script>
然后,使用System.import方法加載模塊文件。
<script>
System.import(’./app.js’);
</script>
上面的代碼中的./app指的是當前目錄下的app.js文件。它可以是ES6模塊文件,System.import會自動將其轉碼。
需要注意的是,System.import使用異步加載,返回一個Promise對象,可以針對這個對象編程。下面是一個模塊文件。
// app/es6-file.js:>
需要注意的是,System.import使用異步加載,返回一個Promise對象,可以針對這個對象編程。下面是一個模塊文件。
// app-es6-file.js:
export class q{
constructor() {
this.es6 = ‘hello’;
}
}
然后,在頁面內加載這個模塊文件。
<script>
System.import(‘app/es6-file’).then(function(m){console.log(new m.q().es6;)}) //hello

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251626.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251626.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251626.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java基礎學習總結(22)——異常處理

2019獨角獸企業重金招聘Python工程師標準>>> 一、異常的概念 異常指的是運行期出現的錯誤&#xff0c;也就是當程序開始執行以后執行期出現的錯誤。出現錯誤時觀察錯誤的名字和行號最為重要。 1 package cn.javastudy.summary;2 3 public class TestEx{4 5 …

XAML中格式化日期

要求被格式化數據的類型是DateTime StringFormatyyyy-MM-dd StringFormat{}{0:yyyy-MM-dd}轉載于:https://www.cnblogs.com/changbaishan/p/9144584.html

130242014045 林承暉 第2次實驗

軟件體系結構的第二次實驗&#xff08;解釋器風格與管道過濾器風格&#xff09; 一、實驗目的 1&#xff0e;熟悉體系結構的風格的概念 2&#xff0e;理解和應用管道過濾器型的風格。 3、理解解釋器的原理 4、理解編譯器模型 二、實驗環境 硬件&#xff1a; 軟件&#xff1a;P…

AnularJS1事件

在Web應用的組件是松耦合的情況下&#xff0c;比如需要用戶驗證然后處理授權&#xff0c;即時的通信不總是可行的&#xff0c;因為組件沒有耦合在一起。 例如&#xff0c;如果后端對一個請求返回了狀態碼401&#xff08;表明一個未經授權的請求&#xff09;&#xff0c;我們期望…

Java基礎學習總結(8)——super關鍵字

2019獨角獸企業重金招聘Python工程師標準>>> 一、super關鍵字 在JAVA類中使用super來引用父類的成分&#xff0c;用this來引用當前對象&#xff0c;如果一個類從另外一個類繼承&#xff0c;我們new這個子類的實例對象的時候&#xff0c;這個子類對象里面會有一個父類…

conda鏡像

轉自https://blog.csdn.net/guilutian0541/article/details/81004769 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --set show…

Java基礎學習總結(17)——線程

2019獨角獸企業重金招聘Python工程師標準>>> 一、線程的基本概念 線程理解&#xff1a;線程是一個程序里面不同的執行路徑 每一個分支都叫做一個線程&#xff0c;main()叫做主分支&#xff0c;也叫主線程。 程只是一個靜態的概念&#xff0c;機器上的一個.class文件…

(轉)MySQL自帶的性能壓力測試工具mysqlslap詳解

mysqlslap 是 Mysql 自帶的壓力測試工具&#xff0c;可以模擬出大量客戶端同時操作數據庫的情況&#xff0c;通過結果信息來了解數據庫的性能狀況 mysqlslap 的一個主要工作場景就是對數據庫服務器做基準測試 例如我們拿到了一臺服務器&#xff0c;準備做為數據庫服務器&#x…

node.js HelloWord

創建 server.js var http require("http"); http.createServer(function(req,res){ //設置請求頭的編碼格式 res.writeHead(200,{Content-Type:text/html;charsetutf-8}); //設置網頁的編碼格式&#xff08;防止中文亂碼&#xff09; res.write("<head>&…

JavaScript --- this

介紹: this:引用環境執行的環境對象arguments:一個類數組對象,它包含傳入函數的所以參數callee:arguments對象的一個屬性,該屬性是一個指針,指向擁有arguments對象的函數caller:保存著調用當前函數的函數引用apply()方法:第一個參數是作用域&#xff0c;第二個參數是Array實例…

LeetCode Subarray Sum Equals K

原題鏈接在這里&#xff1a;https://leetcode.com/problems/subarray-sum-equals-k/description/ 題目&#xff1a; Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k. Example 1: Input:nums …

水木告白工作室:Java從零入門之模仿頭條資訊(一)

總體設計 一 &#xff1a;Java語言基礎 二 &#xff1a;Spring入門&#xff0c;模板語法和渲染 三 &#xff1a;數據庫交互iBatis集成 四&#xff1a; 用戶注冊 登陸 管理 五&#xff1a; 資訊發布 圖片上傳 資訊首頁 六&#xff1a; 評論中心 站內信 七&#xff1a; Redis入門…

架構師不可不知的十大可擴展架構

2019獨角獸企業重金招聘Python工程師標準>>> 可擴展性正是如今軟件設計領域最值得優先考慮的要素。然而&#xff0c;計算機科學家們還無法了解一套單獨的架構如何才能擴展至各類應用環境當中。相反&#xff0c;我們在數量繁多的方案中所設計出的可擴展性架構&#x…

Winform開發框架中工作流模塊的業務表單開發

在我們開發工作流的時候&#xff0c;往往需要設計到具體業務表單信息的編輯&#xff0c;有些是采用動態編輯的&#xff0c;有些則是在開發過程中處理的&#xff0c;各有各的優點&#xff0c;動態編輯的則方便維護各種各樣的表單&#xff0c;但是數據的綁定及處理則比較麻煩&…

JavaScript --- 跨瀏覽器的事件處理程序

var EventUtil {addHandler: function(element, type, handler) { // 添加事件處理程序if (element.addEventListener) { // DOM2級事件處理程序element.addEventListener (type, handler, false) ;} else if (element.attachEvent) { // IE事件處理程序element.attachEve…

RabbitMQ學習總結(2)——安裝、配置與監控

2019獨角獸企業重金招聘Python工程師標準>>> 一、安裝 1、安裝Erlang 1&#xff09;系統編譯環境&#xff08;這里采用linux/unix 環境&#xff09; ① 安裝環境 虛擬機&#xff1a;VMware Workstation 10.0.1 build Linux系統&#xff1a;CentOS6.5 rabbitMQ官網下…

nginx針對某個url限制ip訪問,常用于后臺訪問限制

nginx針對某個url限制ip訪問&#xff0c;常用于后臺訪問限制 假如我的站點后臺地址為&#xff1a; http://www.abc.net/admin.php 那么我想限制只有個別ip可以訪問后臺&#xff0c;那么需要在配置文件中增加&#xff1a;location ~ .*admin.* {allow 1.1.1.1;allow 12.12.12.0/…

JavaScript --- 跨瀏覽器的事件對象

var EventUtil{addHandler: function(element, type, handler){ // 添加事件方法if (element.addEventListener){element.addEventListener(type, handler, false); // 添加監聽事件,第3個參數false代表:冒泡階段} else if (element.attachEvent) {element.attachEvent("…

第一個C#程序

第一個C#程序 新建項目-選擇模板--控制臺應用程序 還不會用學習版執行程序,沒找到執行(不調試)菜單,調試出一堆線程狀況.用了VS旗艦版完成, 看見C#在VS中的編譯和執行時分開的,eclipse確實叫預編譯軟件,代碼寫好沒錯可以直接運行,編譯由eclipse完成, 提問:為啥VS不這樣設置?是…

XML序列化與反序列化

C#對于XML的序列化與反序列化提供了很好的支持&#xff0c;我們只需要引用System.Xml的命名空間即可&#xff0c;無需使用第三方庫&#xff0c;下面簡單實現了一個XML的序列化與反序列化的幫助類。 1.序列化&#xff1a; 先聲明一個變量var settings new XmlWriterSettings&am…