比如我的md5加密js放在了utils文件夹下,页面的js需要引入md5的时候,使用require引入和import引入有什么区别?我看官方文档里是说用require来引入,我看别人小程序代码,引入js的时候有的时候也用import来引入。
比如我的md5加密js放在了utils文件夹下,页面的js需要引入md5的时候,使用require引入和import引入有什么区别?我看官方文档里是说用require来引入,我看别人小程序代码,引入js的时候有的时候也用import来引入。
require
和import
没有什么区别,这是两种js模块化规范而已,如果你的小程序用到了babel
编译,两种写法均可,如果没有,那就用require
语句,这是nodejs原生支持的
js模块化
1.ES2015 import 语句
import App from './App';
import 'moment';
2.CommonJS require() 语句(nodejs支持)
const App = require('./App');
require('moment')
3.AMD define 和 require 语句(requirejs支持)requirejs
是一个早些时候实现js模块化的库,现在基本没怎么用了,大概是这种写法吧
require(['jquery'], function(Lib){
// do sth
});
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
import和require的区别
node编程中最重要的思想就是模块化,import和require都是被模块化所使用。
遵循规范
require 是 AMD规范引入方式
import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
调用时间
require是运行时调用,所以require理论上可以运用在代码的任何地方
import是编译时调用,所以必须放在文件开头
本质
require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require