ES6的抛出引入和Node有什么不同

有时候我们会遇见报错 import 不能在模块外使用 , 这是因为import只有在前端可视化的页面可以用。
说不清楚,看代码吧

  1. // 这是index1文件
  2. let a = 1;
  3. module.exports = a;
  4. // 这是index2文件
  5. let a = require('./index1')
  6. console.log(a);
  7. // 如果在node环境中直接运行的话index2的话
  8. 结果是打印 1
  9. // 但是如果将index2文件引入到html中的话,那么在浏览器打开会报错,require is not defined
  10. 因为require这个api本就是node环境下才可以使用的

ES6的语法

抛出

  1. 1. export
  2. 1. export default 默认抛出,后面不能个变量声明

引入方法

  1. 1. import 该方法可以引入各种文件,将css文件引入css中时 @import('./index.css')

Node提供的引入方法

抛出

  1. 1. module.exports node中每个文件都被看做是一个模块,每一个模块里面只能有一次module.exports 抛出
  2. 1. exports 可以写多个
  1. // export的抛出方式
  2. let a = 1;
  3. exports.a = 1;
  4. // module.exports的抛出方式
  5. module.exports = a;

引入

  1. 1. require 只有require这一种引入方法