module.exports = {
schedule: schedule
};
所以可以使用Schedule.schedule访问它。
我在我的视图中加载了一个JavaScript文件,但是当我尝试调用Schedule.schedule时,它说“Schedule not defined”,当我尝试调用时:
sails.services.Schedule.schedule() or sails.controllers.Schedule.schedule()
它返回“未定义风帆”的错误。
我过去只使用过Angular,但这只是风帆,看起来我无法从视图中访问我的控制器或服务,这是正确的吗?
谢谢=)
答案 0 :(得分:2)
要理解的关键是你的一些代码是在服务器上运行的(可能是本地机器上的sails lift
节点进程,或者某些远程linux框),你的一些代码由浏览器(chrome,firefox等)运行。
通常,这些文件不会一起工作。
/assets
中的脚本由浏览器运行/api
中的任何内容都由服务器运行module.export
和require
框架仅在服务器上提供,而不是在浏览器中提供。观点是一个有点令人困惑的混合案例。视图存储在服务器上,当您使用它们时,<% %>
之间的所有代码都在服务器上运行。但文件的其余部分被视为文本,而不是运行或解释,包括任何包含的脚本。
只有在浏览器中,您的脚本标签才会被读取和解释,并且脚本会被提取并运行。在浏览器中,无法访问module.exports
,sails
对象等。