首页 > 解决方案 > SailsJS ReferenceError:运行 WebStorm 节点调试模式时未定义模型

问题描述

我对 SailsJS 比较陌生,我在这里要做的是在调试模式下运行函数,这样我可以在处理后端脚本时获得一些时间(与在每次修改脚本后重新运行 Postman 上的每个请求相比)。 )。

这是我试图在调试模式下运行的路线的脚本:

module.exports = {
  friendlyName: 'Upsert',

  description: 'Upsert a vehicle recovery.',

  inputs: {
     ...
  },

  exits: {
     ...
  },


  fn: async function (inputs, exits) {
    function sleep(ms) {
      return new Promise(resolve => setTimeout(resolve, ms));
    }

    try{
      //Set vehicle recovery if an Id is present
      let existingVehicleRecovery = {};
      if (inputs.id) {
        existingVehicleRecovery = await VehicleRecovery.findOne({ id: inputs.id }).populate('bodyworkPrices').populate('maintenancePrices').populate('additionalCostsList');

 
      if (inputs.id) {
        return exits.updateSuccess({ vehicleRecovery, dependentValues, exceptions });
      } else {
        return exits.createSuccess({ vehicleRecovery, dependentValues, exceptions });
      }

    } catch(e){
      console.log('Error: ',e);
    }
  }
};

const inputs = {
  'opportunityId':'0065E00000OYgK9QAL',
  'plateNumber': 'AQ828TW',
  'id': 613
};

module.exports.fn(inputs);

这是我尝试运行此功能时弹出的错误:

在此处输入图像描述

由于某种原因,VehicleRecovery此处的节点无法识别模型。

服务器在本地并行运行。

谢谢你的帮助。

标签: node.jssails.jswebstorm

解决方案


我终于找到了解决方案。如果您想调试 SailsJS 或任何 Node.js api,您的配置应该是这样的:

在此处输入图像描述

在 javascript 文件部分,我选择了 nodemon,但您也可以选择 node 或sails。在此之后,您需要在运行模式或调试模式下运行您的配置。

在此处输入图像描述

每次您通过 Postman 或浏览器发送请求时,webstorm 都可以读取每个脚本运行的变量(您将在下面的屏幕截图中看到类似的内容)。

在此处输入图像描述


推荐阅读