繁体   English   中英

在所有全局javascript之后将javascript注入Sailsjs中的特定视图/路由

[英]Inject javascript to specific view/route in Sailsjs after all the global javascripts

最近,我一直在尝试使用sailsjs构建一个非常简单的聊天应用程序,该应用程序只有3页,每页具有不同的参考数据集,这些数据将提供twitter typeahead js,我打算做的是这样的:

var socket = io.connect('http://localhost:1337');

$(document).ready(function () {
    var $modalLayer = $(JST['assets/templates/generic/modal.html']({}));
    $modalLayer.appendTo("body").modal('show');

    socket.on('connect', function () {
        socket.request('/chat/references', {}, function (data) {
            console.log(data);
            bindTypeAhead(data);
            $modalLayer.modal('hide');
    });

});

对于不同的页面,我有不同的逻辑,因此需要分成不同的javascript文件。

我尝试过的是:

  • 在pagea.ejs和pageb.ejs中使用标记
  • 使用<%-block('localScripts','SCRIPT_TAG')%>

两种方法都使脚本先于pipeline.js中定义的所有javascript注入,因此socket.io变得未定义。

我在读取的stackoverflow上发现的一些解决方案是将javascript注入移动到“ <head>”,但是我认为这是一种不明智的做法,我真的不希望违反sailsjs约定。

有人能做到这一点吗?

非常感谢。

我正在使用的帆的版本为0.10.5。

在我的项目中,我使用布局模板和<%-scripts%>标记来指定子页面脚本应放置的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM