日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

commonjs 和 es6模块化开发入门

發(fā)布時間:2025/3/11 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 commonjs 和 es6模块化开发入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

commonjs模塊化

首先寫一個api,提供給外部調(diào)用

//commonjslet sum =(a,b)=> a+b;// 暴露接口 module.exports = {sum // sum:sum }

導(dǎo)入調(diào)用

const m = require('./Api.js')console.log(m.sum(10,20));

es6模塊化

首先寫一個api,提供給外部調(diào)用

//es6 export function sum(a,b){return a+b; }export function sub(a,b){return a-b; }

導(dǎo)入調(diào)用

import {sub,sum} from "./Api.js"console.log("sub(100,30) = " ,sub(100,30)); console.log("sum(100,30) = ",sum(100,30));//如果直接 node test.js 是會報錯了,因為默認是不支持es6 語法 我們需要使用babel轉(zhuǎn)換

如果直接 node test.js 是會報錯了,因為默認是不支持es6 語法 我們需要使用babel轉(zhuǎn)換
比如以下報錯:

根據(jù)我們之前學(xué)過了Babel
1、首先我們初始化項目npm init -y 將其轉(zhuǎn)換為node項目

2、創(chuàng)建.babelrc文件

{"presets":["es2015"],"plugins":[] }

3、安裝轉(zhuǎn)換器 npm install --save-dev babel-preset-es2015

4、我們可以直接使用babel命令也可以使用package.json定義腳本。這里我們使用package.json定義腳本的方式。
package.json

{......,"scripts": {"test": "echo \"Error: no test specified\" && exit 1","build":"babel src -d dist"},..... }

在上邊我們定義了build命令,這樣我們執(zhí)行npm run build,就可以在項目根目錄下的dist目錄中看到轉(zhuǎn)換后的代碼。


我們一起看看dist下的轉(zhuǎn)換后的代碼吧

Api.js

"use strict";Object.defineProperty(exports, "__esModule", {value: true }); exports.sum = sum; exports.sub = sub; //es6 function sum(a, b) {return a + b; }function sub(a, b) {return a - b; }

test.js

"use strict";var _Api = require("./Api.js");console.log("sub(100,30) = ", (0, _Api.sub)(100 ,30)); console.log("sum(100,30) = ", (0, _Api.sum)(100, 30));//如果直接 node test.js 是會報錯了,因為默認是不支持es6 語法 我們需要使用babel轉(zhuǎn)換

執(zhí)行成功

es6第二種寫法

我們使用對象導(dǎo)出的方式
Api.js

export default{sum(a,b){return a+b;},sub(a,b){return a-b;} }

test.js

import calculate from "./Api.js" console.log("sub(100,30) = " ,calculate.sub(100-30)); console.log("sum(100,30) = ",calculate.sum(100,30));//如果直接 node test.js 是會報錯了,因為默認是不支持es6 語法 我們需要使用babel轉(zhuǎn)換

這種寫法會比上邊那種會方便一些。
我們重新編譯轉(zhuǎn)換npm run build

運行

總結(jié)

以上是生活随笔為你收集整理的commonjs 和 es6模块化开发入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。