我有一个由我自己构建的yeoman-generator支持的grunt项目generator-webapp,如果有任何帮助,你可以在GitHub上找到它
咕噜咕噜的项目使我们成为了grunt-usemin这项任务.
我的项目涉及建立一个多语言网站,为了保持清洁,我决定将所有用一种语言写成的页面放在文件夹名称之后,用两个字母的短代码表示.
| project/
|--dist/
|----en/
|------index.html
|------404.html
|------...
|----fr/
|------index.html
|------404.html
|------...
Run Code Online (Sandbox Code Playgroud)
这些文件由把手模板制成并使用assemble.在布局中我有usemin像这样的构建块
<!-- build:css(.tmp) styles/main.css -->
<link rel="stylesheet" href="../styles/main.css">
<!-- endbuild -->
<!-- build:js scripts/vendor/modernizr.js -->
<script src="../bower_components/modernizr/modernizr.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)
在一个完美的世界中,这将转化为
<link rel="stylesheet" href="../styles/main.css">
<script src="../scripts/vendor/modernizr.js"></script>
Run Code Online (Sandbox Code Playgroud)
而是显示
<link rel="stylesheet" href="styles/main.css">
<script src="scripts/vendor/modernizr.js"></script>
Run Code Online (Sandbox Code Playgroud)
这在我的情况下不太理想.相关部分Gruntfile.js看起来像这样
useminPrepare: {
options: {
dest: '<%= yeoman.dist %>'
},
html: [
'<%= yeoman.app %>/fr/{,*/}*.html',
'<%= yeoman.app %>/en/{,*/}*.html'
]
},
usemin: { …Run Code Online (Sandbox Code Playgroud) 我运行Sails0.9.7并安装了Consolidate.js支持的Handlebars,因此Sails支持
我可以从.handlebars文件中提供页面,它工作得很好.我无法想象在哪里,在Sails工作流程中,以Sails的方式,我应该注册部分,帮助等...我更多的是寻找最佳实践,而不仅仅是一个有效的解决方案,但任何帮助将不胜感激.
我似乎无法使用gulp-ruby-sass获取源代码并正常工作.他们会生成,我可以在我的css文件末尾看到评论,但Chrome仍然无法读取它们,尽管在设置中启用了选项.
谢谢你的帮助,
var gulp = require('gulp');
var gutil = require('gulp-util');
var sass = require('gulp-ruby-sass');
gulp.task('sass', function(){
gulp.src('./assets/scss/main.scss')
.pipe(sass({noCache: true, sourcemapPath: '../scss'}))
.on('error', function(err){console.log(err.message);})
.pipe(gulp.dest('./assets/css/'));
});
gulp.task('watch',function(){
gulp.watch('./assets/**/*.scss', ['sass']);
});
gulp.task('default', ['sass','watch']);
Run Code Online (Sandbox Code Playgroud) 我开始将我的回调代码转换为Sails.js中的promise,但我不明白如何在promise链中引发自定义错误并处理它们.Sails.js使用Q作为其promise库.
User.findOne({email: req.param('professorEmail'), role: 'professor'})
.then(function (user) {
if (user) {
return Course.create({
user_id: user.id,
section: req.param('section'),
session: req.param('session'),
course_code: req.param('course_code')
});
} else {
// At this point `user` is undefined which means that no professor was found so I want to throw an error.
// Right now the following statement does throw the error, but it crashes the server.
throw new Error('That professor does not exist.');
// I want to be able to handle the error in the …Run Code Online (Sandbox Code Playgroud) 我们正在为大量的流量做准备,但这个问题也是一个通用的问题:
知道您可以设置 Sequelize 以使用 RDS 数据库集群(在我们的例子中:Aurora),如下所示:
const master = { rdsClusterWriterEndpoint, username, password, port, database }
const replica = { rdsClusterReaderEndpoint, username, password, port, database }
const Sequelize = require('sequelize')
const sequelize = new Sequelize(null, null, null, {
dialect: 'mysql',
pool: {
handleDisconnects: true,
min: 0,
max: 10,
idle: 10000,
},
replication: {
write: master,
read: [replica],
},
})
Run Code Online (Sandbox Code Playgroud)
如何在不重新加载应用程序的情况下将新的 RDS 实例添加到集群以负载平衡读取更多?
我四处寻找,但找不到一个好的方法来做到这一点。DNS 解析似乎在启动时完成一次,我还没有找到每隔一段时间刷新一次的方法。
有人找到了一种安全的方法吗?
谢谢
sails.js ×2
amazon-rds ×1
assemble ×1
grunt-usemin ×1
gruntjs ×1
gulp ×1
javascript ×1
promise ×1
q ×1
sass ×1
scalability ×1
sequelize.js ×1
source-maps ×1
yeoman ×1