【发布时间】: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