- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在,我正在使用 <%- assets.js() %>
在所有页面上包含所有 javascript 文件。因此,这意味着将在所有页面上初始化所有功能。
我想知道如何禁用特定网页上的 javascript 文件?或者,如果有一种方法可以在特定网页上包含一些 javascript 文件而不是所有 javascript 文件。
最佳答案
自动加载的问题在于,很难以任何有意义的方式规定源文件的顺序——这实际上取决于您如何构建前端。
在 v0.8.x(据我所知你正在使用的版本)中,你可以使用 config/assets.js
来控制加载文件夹的顺序。这并不理想,但是我的团队在多个项目中使用的一个不错的解决方法。
在 v0.9 中,我们移除了 rigging/asset-rack 以支持紧密集成 Grunt,它有一个庞大的社区和一些非常酷且维护良好的软件包,适用于大多数类型的 Assets 捆绑等。
无论如何,您可以通过以下不同方法研究在新版本的 Sails.js 中提供 Assets 服务:
在你的layout.ejs
文件,创建 <link />
和 <script></script>
像往常一样链接到您的 css 和 javascript 文件中的标签。
我想很多人会说这实际上是最好的选择。 Require 是一个非常强大的工具。我基本上同意——如果你正在使用可能来自任何地方的前端 javascript,并且将由可能使用不同框架的其他开发人员扩展,AMD 是一个很好的方法确保你保持安全。如果你使用 Require,每个 js 文件都是它自己的模块,并声明它自己的依赖关系,因此 Assets 依赖管理成为过去。然后在生产模式下,有几个不同的选项来编译和缩小你的 CSS 和 JS。您甚至可以使用 Require 从 JS 动态加载模板和 CSS,这非常简洁。如果您对异步加载部分或全部 Assets 感兴趣,AMD/RequireJS 无疑是赢家。它也是一个全客户端解决方案,非常酷。
我认为唯一的缺点是复杂性。如果您可以控制所使用的框架,那么您真的不必为每个文件手动输入依赖项——它可以自行解决(请参阅 https://github.com/balderdashy/mast/blob/2.x/lib/raise.js)
当您使用 sails new foo
创建新项目时在 Sails v0.9 中,一个名为 Gruntfile.js
的文件被 build 。它里面有很多东西,其中很多默认情况下没有被使用。您几乎可以用 Grunt 做任何事情,但特别是,您需要了解它是如何设置以从 assets/*
复制文件的。至 .tmp/public/
.
sails new foo --linker
(仅限 Sails v0.9)Linker 很像 asset-rack/rigging 目前所做的。它创建与上面#3 相同的 Gruntfile,但使用了更多内容。它将按照您指定的顺序自动链接文件。而不是查看部分(例如 <%= %>
), scriptlinker
插件允许您自定义将注入(inject) js、css 和模板的分隔符。默认情况下,Gruntfile 设置为使用 JST 预编译模板,但同样,您可以根据需要进行设置。
希望对大家有所帮助,祝你好运!
-迈克
PS- v0.9 很快就会发布,我一直在处理测试和问题,以确保我们 100% 就在那里。如果您想尝试一下,请查看:
关于sails.js - Sailsjs 禁用单个 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302221/
在 sailsjs 1.0@beta 中,我有一个模型链接到带有 mysql-sails@beta 适配器的 mysql 表中的 View 。 模型配置如下: attributes: { id
我有一个独立的操作,我使用 CloudSDK 通过单击按钮从我的前端调用它,我得到了我的值,但该操作不会重定向到 View 。我已在成功退出中将 responseType 指定为 View ,但这似乎
sails.sockets.rooms()和sails.sockets.socketRooms()均已弃用 在文档中: This method is deprecated. Please keep t
我尝试使用以下方法在 Controller 操作中获取发布数据: req.body.name 但是不起作用 最佳答案 您可以尝试先检索全部内容来访问它们 function(req, res, next
我一直在尝试按照文档和 StackOverflow 上的说明为我的应用程序加载自定义配置,但失败了。 我在中创建了一个新文件 /config/application.js 内容: module.exp
我对两个 Nodejs 和 sails 都很陌生。我正在尝试在一个 Action 中创建两个模型。我的问题是如何处理两个查询中可能发生的错误。 当前代码: new: function (req, re
所以我的问题是我想将任何请求记录到我的 sails 应用程序。基本上我已经解决了一个问题,即我无法记录请求的参数。 myRequestLogger: function(req, res, next)
是否可以动态更新 sails.config 对象,而无需重新升起 sails 来应用这些更改? 我希望动态更新sails.config.policies 在我的 bootstrap.js 中我已经设置
假设我有一个很长的任务,当有人连接到 InitializeDB 时,该任务就开始运行。 (当然,将来会获得授权,但暂时不考虑)。 'post /initializeDB':'OrderControll
问题 所以我正在编辑一个 CRUD 应用程序以在删除之前进行确认,并创建了一个 JavaScript 函数来执行此操作,但我在 cmd 和“显示”页面上收到以下错误 error: Sending 50
我了解到放置在资源中的静态文件将可以直接在浏览器中访问。但是执行此操作后,我的静态文件无法访问。 最后,结果发现静态文件没有编译到隐藏文件夹(.tmp/public)中。我手动将所有文件复制到这个隐藏
sails.js 框架不支持事务。在 GitHub 问题中,他们谈论 transaction()。但是不适合在一个事务中编写多个查询。 所以我认为一种解决方案是使用 node-mysql 模块。但我认
好吧,我(天真地)试图让 bull 在 sails 应用程序中工作:最终我希望有一个队列,我可以根据传入路线向其中添加/删除/检查任务。 现在,据我所知,要创建一个可在全局范围内运行的排队系统,我必须
我正在开发一个 Sails 应用程序,对于我的单元测试,我需要在 ./test/bootstrap.test.js 和 ./test/unit/controllers/*.test.js 中使用一些变
我一直在努力更好地了解如何在 SailsJS 中设置外键。我目前正在开展一个类(class)项目,我的小组需要创建一个评估系统,其中包含教师和学生的个人资料以查看结果。我在网上看到了一些例子,但我看到
我想创建一条动态路线。我创建了一个名为用户的 API。我需要可以访问/users/:nameofuser,就像自动创建的用户/id。 如何在这种类型的 url 中获取用户名,并执行 Controlle
我有一个模型帖子: // Post.js attributes:{ name: {type:"string"}, users: { collection: 'user', via: '
我的 Sailsjs 应用程序中有以下具有多对多关系的模型: 事件.js: attributes: { title : { type: 'string', required: true }, de
我正在使用 Sails v0.10.5。 我创建了三个模型,它们之间存在关联。存在一个Candidate 模型、一个Evaluator 模型和一个Rating 模型,评估者通过该模型对候选人进行评分。
我的 Sails 应用程序中有用户模型,当然它有密码。因此,当我创建新用户时,Sails 会使用包含新创建用户的所有数据(包括哈希密码)的 json 进行响应。有没有办法阻止 Sails 输出某些字段
我是一名优秀的程序员,十分优秀!