【问题标题】:Making js files available assets in a sails app (without injecting them into every view)在 Sails 应用程序中使 js 文件可用资产(无需将它们注入每个视图)
【发布时间】:2014-10-16 21:56:35
【问题描述】:

我想将特定脚本的标签插入到特定视图中,而不是其他任何地方。 This question 几乎抓住了我的问题,但我想使用我编写的脚本并希望将其放入客户端的公共目录中,而不是在其他地方实现带有 hfref 的脚本标签。我看到给定的解决方案如何允许您将具有唯一 href 的脚本标记放在特定视图中,但我不知道在哪里存储要插入到视图中的 js,以便它成为可用资产。起初我以为我放置在“/assets”中的任何目录都将放置在客户端的公共目录中,但是当我尝试添加“/assets/localScripts”目录并将我的脚本放入其中时,无论是目录,也没有出现脚本。所以我想我会把本地脚本放在'assets/js'目录中,但是我放在那里的所有东西(即使它在一个子目录中)都被添加到每个视图中,我不希望这个脚本被注入主页(或任何接受一个特定视图的地方)。

我查看了 pipeline.js 文件,试图修改 grunt 任务。 This resolved question on excluding files from grunt tasks 建议我应该能够告诉 grunt 忽略文件“/assets/js/localScripts/gameview.js”,但我没有运气。我尝试在选择 js 文件的管道部分的末尾添加以注入以下每个异常(做同样的事情):

var jsFilesToInject = [

  // Load sails.io before everything else
  'js/dependencies/sails.io.js',

   // Dependencies like jQuery, or Angular are brought in here
  'js/dependencies/**/*.js',

  // All of the rest of your client-side js files
  // will be injected here in no particular order.
  'js/**/*.js',

  //My attempted exceptions:

  //I think this should ignore anything in the localScripts directory
  !'**/localScripts/**',

  //I think this should ignore any file named gameview.js
  !'**/gameview.js',

  //I think this should ignore '/assets/js/localScripts/gameview.js'
  !'/assets/js/localScripts/gameview.js'
];

这些异常都不起作用(脚本在每种情况下都被注入到每个页面中)。我在正确的轨道上吗?如何使 js 文件可用于为其注入了脚本标签的视图,但避免自动为每个视图注入该文件的脚本标签?

【问题讨论】:

    标签: javascript node.js gruntjs sails.js


    【解决方案1】:

    我认为您将不得不更改您的 grunt 文件。或者 。 ..

    我在应用程序中使用的简单解决方案是删除布局文件中自动注入脚本的代码。我将我的脚本放在 assets/js 目录(和子目录)中。然后我直接在我的文件中引用它们。

    如果我希望它们出现在我的所有视图中,那么我将其添加到我的布局文件中,如果我只希望它出现在特定页面上,那么我将其放入该文件中。

    【讨论】:

    • 这正是我想要的!澄清一下: layouts.ejs 文件中需要删除的代码是一对 cme​​ts: 并且为了确保在我之前加载依赖项自定义脚本(我将其标签放置在其相应视图的正文中)我将 脚本移到 标签上方在 layout.ejs 中,以便将标记插入到我正在呈现的任何视图的主体之前。
    • 听起来你明白了
    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 2017-03-18
    相关资源
    最近更新 更多