var app = express();
app.set('views',settings.c.WEB_PATH + '/public/templates');
app.set('view engine','ejs');
app.configure(function(){
app.use(express.favicon());
app.use(express.static(settings.c.WEB_PATH + '/public'));
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.methodOverride());
app.use(express.session({
cookie:{ domain:"."+settings.c.SITE_DOMAIN, maxAge:1440009999},
secret:'hamster',
store: r_store,
}));
app.use(useragent.express());
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
});
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序.我目前正在生产中运行它.
但是,有人告诉我NODE_ENV.我是否必须将其添加到此代码中?我该如何添加?
如果mongoose无法连接到我的数据库,如何设置错误处理的回调?
我知道
connection.on('open', function () { ... });
Run Code Online (Sandbox Code Playgroud)
但是有类似的东西
connection.on('error', function (err) { ... });
Run Code Online (Sandbox Code Playgroud)
?
我试图在Ubuntu 13.10上安装Jenkins,当我尝试运行以下命令时,我收到上述错误:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
Run Code Online (Sandbox Code Playgroud) 我找到了以下脚本:
Device.find(function(err, devices) {
devices.forEach(function(device) {
device.cid = '';
device.save();
});
});
Run Code Online (Sandbox Code Playgroud)
MongoDB有多个文件更新的"多"标志,但我无法使用mongoose.这还不支持还是我做错了什么?!
Device.update({}, {cid: ''}, false, true, function (err) {
//...
});
Run Code Online (Sandbox Code Playgroud) 当我永远使用启动节点脚本时,如何将NODE_ENV变量/参数设置为"production"
我到目前为止得到了这个:
forever start -l forever.log -o out.log -e err.log -a app.js
Run Code Online (Sandbox Code Playgroud) 我有一个HTML5/javscript应用程序使用
<input type="file" accept="image/*;capture=camera" onchange="gotPhoto(this)">
Run Code Online (Sandbox Code Playgroud)
捕捉相机图像.由于我的应用程序希望脱机运行,如何将文件(https://developer.mozilla.org/en-US/docs/Web/API/File)对象保存在本地存储中,以便以后可以检索对于ajax上传?
我从使用中抓取文件对象...
function gotPhoto(element) {
var file = element.files[0];
//I want to save 'file' to local storage here :-(
}
Run Code Online (Sandbox Code Playgroud)
我可以对对象进行Stringify并保存,但是当我恢复它时,它不再被识别为File对象,因此不能用于获取文件内容.
我有一种感觉它无法做到,但我愿意接受建议.
fwiw我的工作是在商店时读取文件内容并将全部内容保存到本地存储.这可以工作,但很快消耗本地存储,因为每个文件是1MB加上照片.
现在我将会话数据存储在与connect(express)捆绑在一起的"内存存储"中.但是我想/必须改变这个以进行生产.
该应用程序正在使用mongodb,我安装了mongoose来处理所有数据库通信.
例如,在初始化我的应用程序后连接到数据库:
var mongo = require('mongoose');
mongo.connect('mongodb://localhost/myDb');
mongo.connection.on('open', function () {
app.listen(3000);
}
Run Code Online (Sandbox Code Playgroud)
我找到了connect-mongodb模块,但我不知道如何使用mongoose实现它,或者它实际上是否可行?我需要添加这样的东西:
var mongoStore = require('connect-mongodb');
// ...
app.use(express.session({
secret: 'topsecret',
maxAge: new Date(Date.now() + 3600000),
store: new mongoStore({ db: 'myDb' })
}));
Run Code Online (Sandbox Code Playgroud)
或者我是否必须直接使用mongodb-module定义我的数据库连接?
Google会向地图容器添加样式以覆盖我的样式.
我知道如何解决这个问题.但是API(v3.8/9/exp)也加载了webfont"Roboto",我并不真正需要/想要它.
这有什么设置/选项/方式吗?
我可以阻止API添加额外的CSS吗?
这是google-maps-API添加到<head>我的页面的代码:
<style type="text/css">
.gm-style .gm-style-cc span,
.gm-style .gm-style-cc a,
.gm-style .gm-style-mtc div {
font-size:10px
}
</style>
<link type="text/css"
rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<style type="text/css">
@media print {
.gm-style .gmnoprint,
.gmnoprint {
display:none
}
}
@media screen {
.gm-style .gmnoscreen,
.gmnoscreen {
display:none
}
}
</style>
<style type="text/css">
.gm-style {
font-family: Roboto,Arial,sans-serif;
font-size: 11px;
font-weight: 400;
text-decoration: none
}
</style>
Run Code Online (Sandbox Code Playgroud) 我按照这些说明让守护进程正常工作:http: //kevin.vanzonneveld.net/techblog/article/run_nodejs_as_a_service_on_ubuntu_karmic/
但是因为这会在开发模式下启动应用程序,所以日志文件会被socket.io调试日志发送垃圾邮件.
我尝试在upstart-conf文件中将NODE_ENV设置为production,但没有成功.
script
export HOME="/root"
export NODE_ENV=production
exec /usr/local/bin/node /where/yourprogram.js >> /var/log/node.log 2>&1
end script
Run Code Online (Sandbox Code Playgroud)
没用.
node.js ×6
express ×4
javascript ×3
mongodb ×3
mongoose ×3
css ×1
daemon ×1
google-maps ×1
html5 ×1
jenkins ×1
linux ×1
mysql ×1
session ×1
ubuntu ×1
ubuntu-13.10 ×1