我正在尝试将trigger.io与yeoman一起使用。
我在整个构建周期中使用yeoman(scaffolding angularjs application / testing / ..)
和trigger.io进行部署。
Trigger.io在'app'目录中生成'src'和yeoman中的所有内容。
有没有让Trigger.io写入'app'而不是'src'目录?
编辑这似乎有效但不太可行,因为它需要跟踪自己生成的新目录/文件:
答案 0 :(得分:2)
我最终将dist
符号链接到src
因为我们需要Yeoman来编译SCSS和CoffeScript文件。当您yeoman server
创建yeoman build
目录时,无法运行dist
。另外 bummerish 就是当你再次yeoman server
时,它会清理dist
目录。
我计划为Trigger创建生成器的yeoman生成器,并添加一些模仿我在使用Sinatra进行测试和开发时创建的Rakefile
任务的grunt任务(例如yeoman simulator
,{ {1}},yeoman device
)。
修改:我现在直接向我的yeoman testflight
添加了一些任务。我添加了gruntfile.js
并添加了以下子任务。
grunt-contrib-copy
我将这些任务添加到相应的观察命令中,并添加了一块新手表来观看copy: {
app: {
files: {
"src/": "app/**", // core app files
},
},
compass: {
files: {
"src/styles/": "temp/styles/**", // drop in the compiled coffeescript
}
},
coffee: {
files: {
"src/scripts/": "temp/scripts/**" // drop in the compiled scss
}
}
},
目录。
app
现在调用watch: {
coffee: {
files: 'app/scripts/**/*.coffee',
tasks: 'coffee copy:coffee reload'
},
compass: {
files: [
'app/styles/**/*.{scss,sass}'
],
tasks: 'compass copy:compass reload'
},
app: {
files: [
'app/**/*.{html,png,json,css,js}'
],
tasks: 'copy:app'
},
}
的{{1}}会使yeoman server
保持最新状态。
我还带来了yeoman watch
以执行以下操作。
src
创建一些任务,如:
grunt-shell
我对它并不完全满意,但它让我继续运行shell: {
forge_build: {
command: 'forge build ios 2>&1 | tee output',
stdout: true
},
forge_run_device: {
command: 'forge run ios --ios.device device',
stdout: true
},
forge_run: {
command: 'forge run ios',
stdout: true
}
}
并转到其他地方的控制台并运行grunt.registerTask("sim", 'copy shell:forge_build shell:forge_run');
grunt.registerTask("device", 'copy shell:forge_build shell:forge_run_device');
将其提升到设备中。它还将yeoman server
目录保存在可以检入的位置。
最终我将把它移到yeoman插件中并添加一些更具体的构建任务来清理适当目标(例如iOS,Android)的src目录以保持dir大小。
编辑:我已创建yeoman device
以帮助从Yeoman内部运行src
。我还在博客上写了一些关于创建a more terse output for `forge的内容。