如何在SailsJS中选择性地包含JavaScript资产?
作者:互联网
在Sails.js应用程序中,如何选择性地包含javascript资产?
例如,如果我有一个管理页面,并且admin.js位于资产/ js目录中.如何防止admin.js加载到公共索引页面上?
我知道我可以将js移到公共目录中,并将脚本包括在我的管理视图的模板中.但是在asset.js()调用插入它的javascript之后,我仍然无法包含它.我需要在sails.io.js脚本加载后插入它.
有什么方法可以选择性地加载脚本,并且仍然可以访问assets.js()函数调用中自动包含的sails.io.js吗?对于这种情况是否有更好的范例?
编辑:
自从SailsJS 0.9发行和资产管理系统的重组以来,这个问题实际上不再适用.
解决方法:
Sailsjs使用资产机架来服务/资产.在默认的布局页面中,sailsjs提供的页面如下所示(dummy2.js包含在显式的<脚本>中):
<html>
<head>
...
<script type="text/javascript" src="/assets/mixins/sails.io-d338eee765373b5d77fdd78f29d47900.js"></script>
<script type="text/javascript" src="/assets/js/dummy0-1cdb8d87a92a2d5a02b910c6227b3ca4.js"></script>
<script type="text/javascript" src="/assets/js/dummy1-8c1b254452f6908d682b9b149eb55d7e.js"></script>
</head>
<body>
...
<script src="/public/dummy2.js"></script>
...
</body>
</html>
因此,sailsjs不会串联文件(至少不是在开发模式下). sails.io(socket-io)始终在布局中的/ assets / js之前和<之前.脚本>在页面上.
看来您的admin.js期待的是sails.io尚未设置的条件,也许它正在与服务器协商传输?尝试等待条件设置.
标签:node-js,express,sails-js,javascript 来源: https://codeday.me/bug/20191123/2064680.html