让livereload与Sails.js一起工作
我对帆船和格伦特都是新手,所以我可能会错过一些显而易见的东西。 每当文件更改时,我将尝试在浏览器中自动刷新我的sails应用程序 我用让livereload与Sails.js一起工作,sails.js,grunt-contrib-watch,livereload,browser-sync,grunt-contrib-connect,Sails.js,Grunt Contrib Watch,Livereload,Browser Sync,Grunt Contrib Connect,我对帆船和格伦特都是新手,所以我可能会错过一些显而易见的东西。 每当文件更改时,我将尝试在浏览器中自动刷新我的sails应用程序 我用sails lift启动应用程序,它在默认端口1337上运行 我尝试将选项:{livereload:true}添加到我的grunt contrib watch配置中,但据我所知,我需要以某种方式将livereload JavaScript注入我的页面 我尝试使用grunt contrib connect和livereload选项来注入JavaScript,但它似乎
sails lift
启动应用程序,它在默认端口1337
上运行
我尝试将选项:{livereload:true}
添加到我的grunt contrib watch
配置中,但据我所知,我需要以某种方式将livereload JavaScript注入我的页面
我尝试使用grunt contrib connect
和livereload
选项来注入JavaScript,但它似乎只是启动了另一台服务器。当我导航到启动的服务器(localhost:8000
)时,我只看到文件夹结构。然而,livereload JavaScript是注入的
如果可能的话,我想避免使用livereload Chrome插件
将livereload JavaScript注入我的Sails应用程序的最佳方式是什么?或者我应该使用另一个工具,比如Browsersync
谢谢!:)
module.exports=函数(grunt){
grunt.config.set('watch'{
api:{
//要查看的API文件:
文件:['api/**','!**/node_modules/**']
},
资产:{
//要监视的资产:
文件:['assets/**'、'tasks/pipeline.js'、'!**/node_modules/**'],
//当资产发生变化时:
任务:['syncAssets','linkAssets']
},
//加上这个
选项:{
利弗雷罗德:没错,
},
});
grunt.loadNpmTasks(“grunt-contrib-watch”);
};
标记之前的末尾:
除了localhost之外,您可以使用服务器的IP或DNS名称
如果api或资产文件夹中的文件发生更改,则会刷新页面。
默认情况下,Ggrunt contrib watch使用35729端口。您可以指向其他端口,如livereload:8000
config/env/development.js
中的布局设置。添加如下内容:
module.exports={
观点:{
布局:“dev”
}
}
然后您可以创建单独的布局文件
views/dev.ejs
,您可以在其中添加livereload脚本和其他开发参数。您也可以用同样的方法添加livereload
键。在尝试使用sails/grunt执行此操作花费了一些时间之后,我为.html、js和css安装了livereload浏览器插件(),为模型和控制器安装了包()
非常有魅力。谢谢你的回答。您是否还建议如何动态注入脚本标记(而不仅仅是将其添加到布局)?因为我不想将其包括在生产模式中。@PhilippBaschke我在答案中添加了一些信息,没有测试您的建议是否有效!:)使用
views/dev.ejs
,当Isails lift--prod
时,livereload脚本不会显示。虽然我不喜欢重复布局,但我仍然觉得通过tasks/config/sails linker.js
中的devJs
可以实现。但它是有效的,所以非常感谢你!:)@PhilippBaschke我认为最好的选择是在layout.ejs中添加一个环境测试,如下所示:
@codeKonami这很容易。非常感谢您的提示!:)