我正在关注这个例子:http://brianstoner.com/blog/testing-in-nodejs-with-mocha/
我在根目录中定义了一个Makefile:
REPORTER = dot
test:
@NODE_ENV=test ./node_modules/.bin/mocha \
--reporter $(REPORTER) \
test-w:
@NODE_ENV=test ./node_modules/.bin/mocha \
--reporter $(REPORTER) \
--watch
.PHONY: test test-w
Run Code Online (Sandbox Code Playgroud)
但是当我运行'make test'时,它说"make:没有什么可以做'test'."
我正在将 sveltekit 部署到 dfinity 容器,并且需要禁用缩小来调试。
我必须构建一个静态版本来部署它npm run build——是否有一个 vite 选项来禁用缩小?
我已经尝试过这个:svelte.config.js但它没有做任何事情:
vite: {
resolve: {
alias: {
$components: path.resolve('./src/components'),
$stores: path.resolve('./src/stores'),
$api: path.resolve('./src/api')
}
},
build: {
minify: false
}
}
Run Code Online (Sandbox Code Playgroud) 我使用mongoose和express 3创建了一个注册表单
用户可能已存在该用户名,在这种情况下,我得到一个err.code 11000(重复键).我该如何处理现有用户?
这就是我现在正在做的......但我不确定检查错误代码是最好的方法:
user.save(function(err){
if ( err ) {
console.log(err);
console.log(err.code);
//duplicate key
if ( err.code == 11000 ) {
req.flash('error', 'User already exists');
res.redirect('/signup');
return;
}
}
res.locals.user = user;
req.session.user = user;
//res.locals.session = req.session;
res.redirect('/');
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
如果标签和 url 组合已存在,我会尝试忽略插入:
INSERT INTO tags(tag, url) VALUES (?, ?);
ON CONFLICT(url, tag) IGNORE
Run Code Online (Sandbox Code Playgroud)
我有一个唯一索引(tag, url)
CREATE UNIQUE INDEX tag_url ON tags (tag, url)
Run Code Online (Sandbox Code Playgroud)
该应用程序只是崩溃说[uncaught application error]: SqliteError - UNIQUE constraint failed: tags.tag, tags.url
我在快递3.x上使用快递验证器 - 当用户更改密码或注册新帐户时,他们必须输入两次密码.
如果两个密码(两个字符串)不匹配,我将如何编写一个自定义验证器,将错误发送到快速验证器中的错误堆栈?
像这样的东西:
req.assert('password1', 'Passwords do not match').isIdentical(password1, password2);
var mappedErrors = req.validationErrors(true);
Run Code Online (Sandbox Code Playgroud) 我正在使用redis作为node.js + express app的会话存储...它会在过期后自动删除旧会话吗?
...或者我是否需要在服务器端进行一些清理?(所以db不会变得太大)
var RedisStore = require('connect-redis')(express)
app.use(express.session({
store: new RedisStore({
host: cfg.redis.host,
db: cfg.redis.db
}),
secret: 'foobar'
}));
Run Code Online (Sandbox Code Playgroud) http://jsfiddle.net/chovy/enmxu/
<a href="#">Inbox</a>
a { text-decoration: none; }
a::after { content: ' ?'; transform: rotate(180deg); }
Run Code Online (Sandbox Code Playgroud)
根据这个网站,它已在Chrome 23中修复...但我有Chrome 28,它不起作用.
http://css-tricks.com/transitions-and-animations-on-css-generated-content/ http://trac.webkit.org/changeset/138632
对于我的REST api,我为每条路线创建了一个文件.
app.get('/api/user', routes.user.index);
app.get('/api/user/login', routes.user.login);
Run Code Online (Sandbox Code Playgroud)
等等
现在我将socket.io引入后端,似乎我只能为所有套接字事件调用一个函数.
var socket = require('./socket/stuff.js');
io.sockets.on('connection', function(sock){
socket.stuff(sock, io);
});
Run Code Online (Sandbox Code Playgroud)
我应该如何分解./socket/stuff.js文件(导出stuff).分成单独的文件.我想最终用套接字替换我的REST api,但我不希望一切都在一个文件中.
我想我会:
./socket/chat.js
./socket/user.js
Run Code Online (Sandbox Code Playgroud)
等等
我正在尝试学习Express,在我的应用程序中,我有中间件将会话对象从Request对象传递给我的Response对象,以便我可以在我的视图中访问它:
app.use((req, res, next) ->
res.locals.session = req.session
next()
)
Run Code Online (Sandbox Code Playgroud)
但app.locals也适用于视图吗?如果我这样做也一样app.locals.session = req.session吗?对于各种类型的东西是否有约定app.locals并res.locals用于?
我也搞不清楚的区别是什么之间res.render()和res.redirect()?什么时候应该使用?
谢谢阅读.任何与Express相关的帮助表示赞赏!
我有一个项目和用户的架构.我想允许用户喜欢或不喜欢某个项目,我还希望在项目和用户上存储评级关联.
var UserSchema = new Schema({
username : { type: String, required: true, index: { unique: true }
, likes : [{ type: Schema.ObjectId, ref: 'Item'}]
, dislikes : [{ type: Schema.ObjectId, ref: 'Item'}]
, ratings: [???]
});
var ItemSchema = new Schema({
name: { type: String},
, likes : [{ type: Schema.ObjectId, ref: 'User'}]
, dislikes : [{ type: Schema.ObjectId, ref: 'User'}]
, ratings: [???]
});
Run Code Online (Sandbox Code Playgroud)
用户存储项目ref,并且该项目存储用户对于喜欢/不喜欢的参考.我不确定如何存储作为属性的评级,因为我想要用户和他们评价项目的价值.
item.ratings.forEach(function(rating){
<%= rating.user.username %> gave <%= item.name %> a <%= rating.value %>. …Run Code Online (Sandbox Code Playgroud)