Node中的require和import

Node中的require和import,第1张

ES6发布之后,module成为了标准,标准的文件引用是使用export指令导出接口,再使用import指令引入模块。一般我们使用的是CommonJS规范,使用import导入模块,使用moduleexports导出接口。

require的使用非常简单,moduleexports 后面是什么内容,require获取的就是什么内容。

你甚至可以把 require 当成一个node内置的全局函数,它的参数也可以是表达式:

但是import 不同,import是编译的时候处理的,所以需要放在文件头声明。require是在执行的时候处理的。

从理解上来说,import 是解构过程,require是赋值过程。

More reference Link

简单说一下
require和include,前者当包含的文件不存在时,程序停止执行,后者当包含的文件不存在时只是报一个警告,程序继续执行。
require和require_once,这两个区别为,前者遇到即包含文件,后者会判断是否已经包含过了,如果包含过了,则不再包含文件。一可以节省资源,二可以避免重复定义的错误。
例如:
require 'xxphp';
echo 'xxxxx';
如果xxphp文件不存在,echo 'xxxxx';这句是不执行的。。在require时就停止了
include 'xxphp';
echo 'xxxxx';
如果xxphp文件不存在,echo 'xxxxx';这句是可以继续执行的。。
require 'xxphp';
require 'xxphp';
这种情况下xxphp被包含两次。
require 'xxphp';
require_once 'xxphp';
这种情况下,第二次包含时,是不会进行包含的。。
include_once和require_once会有性能上的下降,因为他需要判断之前是否包含过。一般情况下,也不太需要去考虑,除非这已经影响到你程序的性能了。

小伙伴们肯定遇到过 文件引用 或 导入 时由静态地址变为动态地址
即 require( '/assets/img/loginpng') ==> require( 变量 + '文件名')

那么问题来了

即使我们变量的地址是对的,也会报错,举个例子

必须将 @/ 拿出来,否则就无法解析成正确的地址!

也可用 requirecontext() 来解决, requirecontext() 接收三个参数:
1路径
2是否向下级目录查找
3正则匹配

举个例子

希望能帮助到需要的小伙伴 点赞 点赞~~

require()是php的内置函数,作用是引入或者包含外部php文件。

工作原理:当本身php文件被执行时,则外部文件的内容就将被包含进该自身php文件中;当包含的外部文件发生错误时,系统将抛出错误提示,并且停止php文件的执行。

注意:使用require时,一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 。

比如clphp,tsphp两个文件,tsphp要用到clphp文件中的函数,需要在tsphp中引入或者包含clphp即可示例如下:

clphp

<php
function  show(){
    echo "clphp文件中的show方法被调用了!";
    
}
>

tsphp

<php
require 'clphp';
show();
>

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12698048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存