我刚开始接触ejs和node-js,我启动了一个node项目,并在根目录下的主index.js
文件中定义了一些全局变量,如下所示:
global.urlBack = "http://localhost:3300";
global.urlFront = "http://localhost:8080";
...
之后,在/views/index.ejs
目录中,我有一个代码如下:
x一个一个一个一个x一个一个二个x
这个requestUrl变量是我通过一个快速路由传递的,就像下面这样:
resp.render("index", {
amountData: amountData,
emailData: emailData,
requestUrl: urlBack
});
它可以在ejs文件的html
部分中识别,但在js
部分中不能识别。我如何在我的"codes.js"文件中访问该全局变量的值?
1条答案
按热度按时间u1ehiz5o1#
实际上,我找不到任何解决方案,可以在ejs文件中使用的
codes.js
文件中使用index.js
主文件中定义的全局变量,但我决定在public directory(ejs文件所在的同一文件夹)上名为“config.json”的文件中设置全局变量,并在**“codes.js”和main“index.js”**中使用它们,如下所示:config.json:
然后在**“index.js”**文件中:
在我现在使用
<script type="module" src="../static/codes.js"></script>
的“codes.js”中,我导入了相同的json文件,如下所示:这样我就可以在两个地方使用我的全局变量,但是我的方法(importAssert)的问题是(如果我没有错的话)只有Chrome浏览器支持。
所以,如果有人能帮我找到一个解决方案,在所有的浏览器,请张贴在这个问题的另一个答案。谢谢。