检查sails.js中是否存在文件


Check if file exists in sails.js

我创建了一个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中之前,我如何检查它是否存在?

在PHP中,我们有一个名为file_exists的函数,sails.js有类似的函数吗?

是。由于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);
        }
    });
}