当前位置: 首页 > 面试题库 >

有没有一种方法可以禁用水线并在sails.js中使用其他ORM?

钮巴英
2023-03-14
问题内容

我想在我的sails.js应用程序中用猫鼬代替吃水线。我正在寻找执行此操作的正确方法,但是我没有在文档中看到操作方法。谁能解释该怎么做?


问题答案:

通过.sailsrc定义替代

您可以通过.sailsrc在项目根目录中定义的配置覆盖来实现。基本上,您必须阻止当前标记为“ orm钩子”
的整个“水线”初始化。在.sailsrc中:

{
  "hooks": {
    "orm": false,
    "pubsub": false
  }
}

您还必须禁用该pubsub挂钩-
这取决于orm挂钩。源中的相关行:v0.10,v0.9.8。

这将关闭orm以下启动命令的提示:

  • 帆扬升
  • 帆控制台
  • 节点app.js(自commit 862c053a66起),有关旧版本,请参见“使app.js使用.sailsrc”

关于此功能在将来的Sails版本中的稳定性,您应该意识到以下事实:该钩子系统当前被标记为不稳定,建议不要使用禁用钩子:

// Allow disabling of hooks by setting them to "false"
// Mostly useful for testing, and may cause instability in production!

其他信息可以在这里找到:

  • https://github.com/balderdashy/sails-docs/issues/69
  • https://github.com/balderdashy/sails/issues/1077

使app.js使用.sailsrc

注意 :由于讨论的PR已合并以用于边缘git checkout,因此默认情况下将其烘焙到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);
 });
});


 类似资料:
  • 问题内容: 假设我有以下代码: 这段代码的问题在于,协程内部的循环永远不会完成第一次迭代,而大小会不断增加。 为什么会这样发生,我该怎么解决? 我无法摆脱单独的线程,因为在我的真实代码中,我使用了单独的线程与串行设备进行通信,而且我还没有找到使用的方法。 问题答案: 不是线程安全的,因此您不能直接在多个线程中直接使用它。相反,您可以使用,它是提供线程感知队列的第三方库: 还有(全披露:我写了它),

  • 问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)

  • 我只需要一个标题,味精和按钮警报对话框,但显示为底部工作表。 哪里有一种方法可以获得这个(没有自定义视图)?

  • 你有没有办法把它自动化?还有更多的方法是这样构造的。我在这里什么也不会有。这样做有意义吗,就像我想象的那样?

  • 我试图在foreach循环中用mybatis动态地过滤一个select-query。

  • 问题内容: 我希望用户输入时间,例如12:00,但是我需要弄清楚一些事情,我实在是太可惜了。 我可以将文字限制为5个字符吗? 我可以在代码中嵌入冒号,以便用户无法删除它吗? 最后,我可以接受该代码并验证它只是数字(当然忽略了冒号) 问题答案: 答案是使用JFormattedTextField和MaskFormatter。 例如: Java编译器将要求您在创建MaskFormatter时捕获或抛出P