首页 > 编程语言 >Node

Node

时间:2022-10-10 10:13:04浏览次数:53  
标签:Node es6 abc 模块化 导出 module 导入

nodejs  : 一般分3个部分

  核心模块  :  http , fs  ,url

  第三方模块 :  nodemon , vue-cli

  自定义模块

 

nodejs能做什么 ? 

  后端web服务器开发与网络爬虫开发

  脚手架命令行工具

  图形界面应用程序开发

 

require('fs') 是什么意思 ? 

  这是模块化导入的意思

 

为什么需要模块化?

  如果没有模块化的话,那么 后引入的  会代替  前引入的 [a.js  有一个name , b.js 有一个name 那么先引入a.js在引入b.js  那么b会把a的顶替掉]

 

js有哪些模块化规范? 

  1.CommonJs 服务器的模块化。【nodejs支持】

  2.ADM , UMD  社区自创建的 [目前没人用了]

  3.ESM  ES6提出正式的规范  【nodejs是不支持的】

 

ESM(ECMAScript Module  标准规范)

  导出 :  export

// es6提出的模块化规范  导出 : 使用export

const  es = 'es6的导出'

const abc = 'es6导出使用别名'

const cd = 'es6导入使用别名'

export {
    es,
    abc as abcScript,
    cd
}

 

  导入 : import

// es6提出的模块化规范  导入 : 使用 import
import { es , abcScript ,cd as cdd} from './ecmascript.mjs'

console.log(es ,abcScript,cdd)

 

  整个文件只有一个导出

// 整个文件只有一个导出  export default

const abc = '整个文件只有一个导出'

export default abc

  整个文件只有一个导入

// 导入的是,整个文件只有一个导出的,就不用 {}

import abc from './ecmadef.mjs'
console.log(abc);

 

nodejs默认是不支持ESM规范的,如果想要这样用,那么后缀要变成     .mjs    或者创建一个文件 package.json  写上  { "type": "module" } 也可以解决

 

CommonJS规范

  导出 module.exports. !! 有加s

var a = '我的commonJS的导入'
var fo = '我的commonJS的导入的第二个'

// 这里跟es6的区别是多了一个s !!!
// exports.a = a
// exports.fo = fo

// 第二种方法 就不能简写,一定要加上module
module.exports = {
    a,
    fo
}

  导出 require(‘文件名’)

var a = require('./module')

console.log(a);
console.log(a.a);
console.log(a.fo);

 

标签:Node,es6,abc,模块化,导出,module,导入
From: https://www.cnblogs.com/qd-lbxx/p/16772920.html

相关文章