我创建了一个sails服务来加载javascript文件取决于它的控制器名称(或页面和/或是否有会话)。
我将这个(数组)JS文件传递给res.local.js并在我的layout.ejs中循环,将js文件包含到我的html中。
for (i = 0; i < loadJS.length; i++) {
<script src="<%- loadJS[i] %>.js"></script>
}
问题,如何在将JS文件包含在我的html中之前检查JS文件是否存在?
在PHP中,我们有一个名为file_exists的函数,是否有与sails.js类似的函数?
答案 0 :(得分:1)
是。由于Sails是使用Node.js创建的,因此您可以使用fs.exists。
如果找不到该文件,将从数组中删除该文件。您可以将它加载到您之前的视图中。
fs = require('fs');
for (i = 0; i < loadJS.length; i++) {
fs.exists(loadJS[i], function(exists){
if(!exists){
//remove from array
loadJS.splice(i, 1);
}
});
}