我习惯用Grunt或Gulp构建资产编译系统。使用Gulp的livereload和Chrome livereload插件,我有一个非常好的系统,它监视某些文件类型的更改并仅重新加载已更改的文件。使用ember-cli,当我更改CSS文件时,它只是重新加载整个页面,而不仅仅是重新加载CSS文件。当我试图设计一个深度嵌套的过程时,这会很痛苦。关于如何正确使用Ember CLI的任何想法/想法?
答案 0 :(得分:2)
我相信这仍然是Ember CLI正在进行的工作,并计划在未来发布,或者取决于Broccoli的修复程序。见https://github.com/stefanpenner/ember-cli/issues/2371
我为解决这个问题所做的事情可能并不理想,但我最终使用grunt,并使用shell命令运行ember build
,将输出复制到正在服务的其他目录中另一台服务器(在我的案例中是IIS express),然后只需手动查看我的文件。
以下是我的grunt文件中的代码段。我相信你可以用Gulp完成同样的工作。
shell: {
prod: {
command: 'ember build --environment production'
},
dev: {
command: 'ember build'
}
},
copy: {
dev: {
files: [{
src: '**',
dest: '../Server/Content/js',
cwd: 'dist/content/js',
expand: true
}, {
src: '**',
dest: '../Server/content/css',
cwd: 'dist/content/css',
expand: true
}, {
src: 'dist/index.html',
dest: '../Server/Views/Home/Root.cshtml'
}]
}
},
watch: {
dev: {
files: [
'app/**/*.js', 'app/**/*.hbs'
],
tasks: ['_buildDev'],
options: {
livereload: true
}
},
less: {
files: [
'app/**/*.less'
],
tasks: ['shell:dev', 'copy:dev']
},
css: {
files: [
'../Server/Content/css/**/*'
],
options: {
livereload: true
}
}
}
答案 1 :(得分:1)
官方支持正在进行中,同时尝试使用此ember-addon https://www.npmjs.com/package/ember-cli-styles-reloader