[英]Is there a way to disable waterline and use a different ORM in sails.js?
您可以通過配置覆蓋執行此操作,通過項目根目錄中的.sailsrc
進行定義。 基本上你必須阻止整個Waterline初始化,目前標記為orm
hook。 在.sailsrc中:
{
"hooks": {
"orm": false,
"pubsub": false
}
}
您還必須禁用pubsub
掛鈎 - 它取決於orm
掛鈎。 源中的相關行: v0.10 , v0.9.8 。
這將關閉以下啟動命令的orm
掛鈎:
關於在未來版本的Sails中的穩定性,您應該知道鈎子系統當前被標記為不穩定的事實,並建議禁用掛鈎:
// Allow disabling of hooks by setting them to "false"
// Mostly useful for testing, and may cause instability in production!
其他信息可以在這里找到:
注意 :默認情況下,這會被捆綁到Sails中,因為討論的PR被合並用於邊緣git簽出。
對於Sails 0.10.x
要使.sailsrc適用於app.js,您可以用以下代碼替換app.js中的第37行:
// app.js, following line 36
var fs = require('fs');
var sailsRc = __dirname + '/.sailsrc';
var config = {};
fs.exists(sailsRc, function(exists){
if (!exists) return sails.lift();
fs.readFile(sailsRc, 'utf8', function(err, data){
if (err) {
console.warn('Error while reading .sailsrc:' + err);
}
try {
config = JSON.parse(data);
} catch(e) {
console.warn('Error while parsing .sailsrc:' + err);
}
sails.lift(config);
});
});
對於Sails 0.9.x.
用這個替換app.js:
// Start sails and pass it command line arguments
var fs = require('fs'),
optimist = require('optimist'),
sails = require('sails');
var sailsRc = __dirname + '/.sailsrc';
var config = optimist.argv;
fs.exists(sailsRc, function(exists){
if (!exists) return sails.lift(config);
fs.readFile(sailsRc, 'utf8', function(err, data){
if (err) {
console.warn('Error while reading .sailsrc:' + err);
}
try {
config = sails.util.merge(config, JSON.parse(data));
} catch(e) {
console.warn('Error while parsing .sailsrc:' + err);
}
sails.lift(config);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.