ES6模块化 默认导出/按需导出; Node.js模块化 导入/

2022-06-21  本文已影响0人  Peter_2B

ES6模块化

const presets = [
    ["@babel/env", {
        targets:{
            edge: "17",
            firefox: "60",
            chrome: "67",
            safari: "11.1"
        }
    }]
]

module.exports = {presets}

import m, {s1 as sss1, say} from './m1'     

m.show();                                   // 'c'
console.log(sss1)                           // 'a'
say();                                      // 'hello'
let a = 1;
let b = 2;
let c = 3;

let show = ()=>{
    console.log('c')
}

//默认导出 只能一个文件中使用一次
export default {
    a,b,show
}

export let s1 = 'a';
export let s2 = 'b';
export function say() {
    console.log('hello');
}

import './m1'
for(var i = 0; i < 3; i++){
    console.log(i);
}

Node.js模块化

javascript:访问引入的声明在全局中的变量,后引入会覆盖前面的; Node.js:无法访问引入文件的全局变量username
const m = require('./utils/demo');

console.log(m.username);                  // 'zhangsan'
m.say();                                  // 'hello'
module.exports.username = 'zhangsan';

module.exports.say = function(){
    console.log('hello');
}
const m = require('./utils/demo2');

console.log(m.username);                // undefined
console.log(m.age);                     // 22
exports.username = 'lisi';

module.exports = {
    age: 22,
    say(){
        console.log('你好');
    }
}
上一篇 下一篇

猜你喜欢

热点阅读