因为webpack会将图片当做模块来引用,所以在js中需要使用require将图片引用进来,而不是直接以字符串的形式。
node编程中最重要的思想就是模块化,import
和 require
都是被模块化所使用。
遵循规范
require
是 AMD 规范引入方式import
是 ES6 的一个新的语法标准,如果要兼容浏览器的话必须转化成 ES5 的语法
调用时间
- require 是在运行时调用,所以 require 理论上可以放在代码的任何地方
- import 是在编译时调用,所以必须放在文件开头
本质
- require 是赋值过程,其实 require 的结果就是对象、数字、字符串、函数等,再把 require 的结果赋值给某个变量
- import 是解构过程,但是目前所有的引擎都还没有实现 import,我们在 node 中使用 babel 支持 ES6,也仅仅是将 ES6 转码为 ES5 再执行,import 语法会被转码为 require