Nodejs 使用 es module (import/export)

? ? ? ?

原文传送门:https://mp.weixin.qq.com/s/bIU_FvesizFJ3D_6KWRPHA

后记:如果纯nodejs直接使用.mjs比较舒服

如果你是纯nodejs,建议使用.mjs更方便。

1、将.js文件改为.mjs文件,不仅仅是入口文件,是所有js文件都改。

2、启动的时候加入 --experimental-modules 。如

$ node --experimental-modules index.mjs

 

原理依然是使用babel来编译Nodejs。借助babel-node执行包含ES模块代码的文件。

 

一、安装依赖 babel-cli  babel-preset-env

$ npm init -y && cnpm install babel-cli babel-preset-env -S

 其中 babel-node 为 babel-cli 自带。

 

添加 .babelrc

{
    "presets": ["env"]
}

 

二、新建几个测试用例

1、app.js

import { sayHi, sayBey } from './lib'
import Person from './Person'

sayHi()
sayBey()

const p = new Person('Lee', 18)
console.log(p.toString())

 

2、lib.js,用于测试多个export

export const sayHi = () => {
	console.log('hi...')
}

export const sayBey = () => {
	console.log('Bey...')
}

 

3、Person.js,用于测试export default ...

class Person {
    constructor (name, age) {
        // super();
        // 建议内置的变量加个_区分,而要访问的变量用get关键词来识别返回
        this._name = name;
        this._age = age;
    }

    get name() {
        return this.name
    }

    set name(value) {
        this._name = value
    }

    get age() {
        return this._age
    }

    set age(value) {
        this._age = value
    }

    static version () {
        return 'v0.1.0';
    }

    toString () {
        return `name: ${this._name},age:${this._age}`
    }
}

export default Person
View Code

 

通过 ./node_modules/.bin/babel-node app.js 或 npx babel-node app.js (推荐)执行脚本。其中 babel-node 为 babel-cli 自带。

 

转载于:https://www.cnblogs.com/CyLee/p/10235465.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值