Node.js与ES632_babel6

一、export和import

 ES6在语言标准的层面上,实现了模块功能。ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。遗憾的是export和import命令不能在浏览器直接使用,不过可以通过babeI转换为es5再运行。import导入模块、export导出模块。

 模块化就是把代码进行拆分,方便重复利用。类似java中的导包:要使用一个包,必须先导包。

 模块功能主要由两个命令构成: export 和 import 。

  • export 命令用于规定模块的对外接口,
  • import 命令用于导入其他模块提供的功能。

二、 安装babel

 babel是JavaScript语法的编译器。

 1、babeI转换配置项目根目录添加

  在项目根目录下创建一个.babelrc文件(手动添加即可)

{
  "presets": ["es2015"]
}

 2、安装es6转换模块

npm install babel-preset-es2015 --save-dev

  

 3、全局安装命令行工具

#管理员身份运行
npm install babel-cli -g

  

 4、使用

  直接运行ES6脚本

babel-node js文件名

  

三、export和import联合应用

 1、命名导出

  此方式每一个需要输出的数据类型都要有一个name, 统一输入一定要带有{},即便只有一个需要输出的数据类型。

  export导出模块:编写export1.js

//方式一
export let name = "itcast";
export let age = 13;
export let gendar = "男";
export let say  = function (str) {
    console.log(str);
}

//方式二
let name = "itcast";
let age = 13;
let gendar = "男";
let say  = function (str) {
    console.log(str);
}
export {name,age,gendar,say}

  import引入模块功能:编写import1.js

import {name,age,gendar,say} from "./export1";
console.log(name);
console.log(age);
console.log(gendar);
say("你好");

  

   注意:当导出变量出现冲突时,可以对导出变量加别名

//可以对导入的变量起别名
import {name as abc,say as hello} from "./export1"; console.log(abc); hello("hello nodejs");

  

 2、默认导出

  默认输出不需要name,但是一个js文件中只能有一个export default。

  export导出模块:编写export2.js

//方式一
export default function (str) {
    console.log(str);
}

//方式二
//一个文件只能有一个export default,不能1个以上同时存在 export default { eat(sth){ console.log("eat"+sth); }, drink(sth){ console.log("drink"+sth); } }

  import引入模块功能:编写import2.js

//导入default的模块文件不需要使用{},名字随意起
//
方式一 import aaa from "./export2"; aaa("hello aaa"); //方式二 import abc from "./export2"; abc.eat("meat"); abc.drink("water");

  方式一结果:

   

  方式二结果:

   

 

posted on 2024-06-24 17:13  花溪月影  阅读(3)  评论(0编辑  收藏  举报