CNode

问一个关于require顺序问题

问答
Iim-here发布于11 年前最后回复11 年前5 回复4172 浏览0 收藏

我有如下项目结构: -user --hero.js --level.js --player.js 就是user文件夹下有hero、level、palyer 这3个js文件。当我在hero.js里面require('player')的时候,我发现得到的值是一个空的Object,即{},但是在hero.js这个文件的函数里面require得到的是正常的。我想问nodejs在初始化各个js文件的时候顺序是怎么样的?还是和我具体js文件里的代码有关?

查看回复

回复 (5)

K
klesh#1·11 年前

循环require导致的,player.js require了hero.js吧。

I
im-here#2·11 年前
引用 klesh循环require导致的,player.js require了hero.js吧。

@klesh 确实是互相require了。如果我确实有这样的需求该怎么办呢?只能在函数里面require了吗?

Q
qxl1231#3·11 年前

你可以在页面play.html 里面写require,在后面几个js里不用写,貌似因为js都是要在页面调用时候才会起作用,不必在每个js里都互相require

K
klesh#4·11 年前
参与回复
登录后即可参与回复。登录