编程语言
首页 > 编程语言> > 如何在SailsJS中选择性地包含JavaScript资产?

如何在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