我对帆船和咕哝都是新手,所以我可能错过了显而易见的事情。我正在试图自动刷新我的风帆应用程序在浏览器中,每当文件改变。
我用sails lift启动应用程序,它运行在默认端口1337上。
我尝试将options: {livereload:true}添加到我的grunt-contrib-watch配置中,但据我所知,我需要将肝脏JavaScript注入到页面中吗?
我尝试使用grunt-contrib-connect和livereload选项注入JavaScript,但似乎只是启动了另一台服务器。当我导航到已启动的服务器(localhost:8000)时,我只看到文件夹结构。然而,肝脏JavaScript被注射。
如果可能的话,我想避免使用livereload插件。
在我的Sails应用程序中注入肝脏JavaScript的最佳方法是什么?或者我应该使用另一个像Browsersync这样的工具?
谢谢!:)
发布于 2015-06-26 13:39:57
module.exports = function(grunt) {
grunt.config.set('watch', {
api: {
// API files to watch:
files: ['api/**/*', '!**/node_modules/**']
},
assets: {
// Assets to watch:
files: ['assets/**/*', 'tasks/pipeline.js', '!**/node_modules/**'],
// When assets are changed:
tasks: ['syncAssets' , 'linkAssets']
},
// ADD THIS
options: {
livereload: true,
},
});
grunt.loadNpmTasks('grunt-contrib-watch');
};</body>标记之前的某个地方),默认情况下添加到视图/layout.ejs<script src="http://localhost:35729/livereload.js"></script>除了本地主机外,您还可以使用服务器的IP或DNS名称。
如果文件在 api 或 assets 文件夹中发生更改,则刷新页面。E 220
默认情况下,Ggrunt-contrib使用35729端口。您可以指向像livereload: 8000这样的其他端口
编辑:,我不知道这是否完全正确,但是看起来您可以覆盖config/env/development.js中的布局设置。添加如下内容:
module.exports = {
views: {
layout: 'dev'
}
}然后,您可以创建单独的布局文件views/dev.ejs,您可以在其中添加livereload脚本和其他开发参数。此外,您还可以以相同的方式添加livereload密钥。
发布于 2015-07-16 19:40:18
在花了一些时间尝试用sails/grunt来做这件事之后,我安装了用于http://livereload.com/extensions/、js和css的livereload浏览器插件(livereload plugin,http://livereload.com/extensions/)以及用于模型和控制器的包(https://www.npmjs.com/package/sails-hook-autoreload)。
就像一种魅力。
https://stackoverflow.com/questions/31071363
复制相似问题