首先,感谢清除我的怀疑。
我想在layout.ejs文件中使用My .css和.js文件我可以通过http://localhost:1337/js/sample.js来完成它但是由于端口号为no而很难在因特网服务器中加载这种文件域名更改。如何在布局文件中使用这些文件而不使用URL方法。
我尝试使用/js/sample.js和/**/js/sample.js没有任何工作,我很沮丧。
我甚至尝试过管道方法
var jsFilesToInject = [
'js/dependencies/sails.io.js',
'js/dependencies/**/*.js',
'js/**/*.js',
'js/**/**/*.js'
];

JQuery方法也
<script>
$(document).ready(function() {
$('head').append('<link rel="stylesheet" href='+document.location.origin + '"/styles/sb-admin.css" type="text/css" />' +
'<link rel="stylesheet" href='+ document.location.origin + '"/styles/plugins/morris.css" type="text/css" />' +
'<link rel="stylesheet" href='+document.location.origin + '"/styles/plugins/morris.css" type="text/css" />');
$.when(
$.getScript(document.location.origin + "/js/plugins/morris/raphael.min.js"),
$.getScript(document.location.origin + "/js/plugins/morris/morris.min.js"),
$.getScript(document.location.origin + "/js/plugins/morris/morris-data.js"),
$.Deferred(function (deferred) {
$(deferred.resolve);
})
);
});
</script>
&#13;
什么都行不通!! !!
答案 0 :(得分:0)
如果你的项目有文件:
assets/js/myscript.js
assets/styles/mystyle.css
然后以下内容适用于任何提供的页面(直接html资源,或从模板或视图返回的任何内容):
<script type="text/javascript" src="/js/myscript.js"></script>
<link rel="stylesheet" href="/styles/mystyle.css" />
如果这不起作用,其他一些过程就会导致问题。我猜你在使用localhost时正在进行sails lift
,但是在在线服务器上进行sails lift --prod
。
是吗?如果是这样的话,Grunt(默认带有风帆)可能会在开发和提升升降机之间以不同的方式处理。可能是您要查找的文件正在连接和/或缩小为某个production.js
文件,并且不再一个一个地提供。
如果是这种情况,您将不得不深入研究grunt进程(与pipeline.js
文件相关,但也有很多其他进程)。您可以通过在localhost上进行--prod
升降机进行测试,如果您可以自由地使用在线服务器,那么您也可以在那里进行非--prod
升降机以查看在这种情况下是否有效。< / p>
答案 1 :(得分:0)
我找到了答案,我们必须在样式和脚本的注释中添加文件,如
<!--STYLES-->
<link rel="stylesheet" href="/styles/mystyle.css" />
<!--STYLES END-->
<!--SCRIPTS-->
<script type="text/javascript" src="/js/myscript.js"></script>
<!--SCRIPTS END-->
此SCRIPTS和STYLES标记将作为这些外部文件的链接器