javascript - 使 js 文件在 sails 应用程序中可用(无需将它们注入(inject)每个 View )

标签 javascript node.js gruntjs sails.js

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

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

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'
];

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

最佳答案

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

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

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

关于javascript - 使 js 文件在 sails 应用程序中可用(无需将它们注入(inject)每个 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414595/

相关文章:

javascript - 如何在semantic-ui中制作两行顶部固定菜单

javascript - WebRTC:如何在提供和应答后添加流?

node.js - NodeJS 与 Arduino 的串口

javascript - Data.map 不是一个函数

node.js - 无法读取 NodeJS 中未定义的属性 'F_OK'

javascript - 是否可以将 Handlebars 模板编译为 html?

javascript - 不满足条件时如何使用 ng Show/ng Hide 隐藏 DOM 元素?

php - 图像旋转脚本

javascript - Grunt - 连接多个 JS 文件并观察变化

javascript - 使用 grunt-file-append 将文本附加到多个文件