是否有一种方法可以在Visual Studio中使用Chrome进行交互式调试JavaScript和TypeScript,类似于Internet Explorer当前提供的功能?使用IE,我可以在IDE中设置JavaScript或TypeScript中的断点,并逐步执行IDE中的代码.我无法在Visual Studio中使用Chrome获得相同的行为.
javascript debugging google-chrome typescript visual-studio-2013
我们在REST API中使用Strongloop的LoopBack,并希望修改LoopBack Explorer的CSS.但是,目前尚不清楚使用哪些CSS文件(LoopBack vs Swagger)以及它们的位置.我无法为此找到具体的文档.
我使用Strongloop的Loopback作为REST框架和ORM.我想将TypeScript用于我的业务逻辑.但是,Loopback需要具有特定形状的JavaScript来支持其框架.例如:
module.exports = function(Person){
Person.greet = function(msg, cb) {
cb(null, 'Greetings... ' + msg);
}
Person.remoteMethod(
'greet',
{
accepts: {arg: 'msg', type: 'string'},
returns: {arg: 'greeting', type: 'string'}
}
);
};
Run Code Online (Sandbox Code Playgroud)
什么是生成上述JavaScript代码的TypeScript代码?
有没有办法使用Node在内存中转换TypeScript?我希望能够在内存中获得生成的JavaScript.
我们如何让Knex创建以下SQL语句:
UPDATE item SET qtyonhand = qtyonhand + 1 WHERE rowid = 8
Run Code Online (Sandbox Code Playgroud)
我们目前正在使用以下代码:
knex('item')
.transacting(trx)
.update({qtyonhand: 10})
.where('rowid', 8)
Run Code Online (Sandbox Code Playgroud)
但是,为了使我们的库存应用程序在多用户环境中工作,我们需要使用qtyonhand值来添加或减去当时数据库中实际的内容,而不是在更新语句时传递可能过时的值.执行.
我们正在使用JSDOC来记录面向客户端的SDK,我们很难让它识别我们的'枚举'(即常量).我们应该使用哪些标签让JSDOC在文档中提取它?这是一个示例:
/**
* @module Enum
*/
export namespace {
/**
* @enum WidgetType {string}
*/
Enum.WidgetType = {
/** Dashboard */
Dashboard: 'dashboard',
/** Form */
Form: 'entityeditform',
/** Report */
Report: 'report'
};
}
Run Code Online (Sandbox Code Playgroud)
以下是代码中使用"枚举"的方法:
app.widget({ id: 'account_entityform', type: Enum.WidgetType.Form }).add();
Run Code Online (Sandbox Code Playgroud)
我们如何用JSDOC记录这个?
我们正在使用带有继承的 TypeScript 类,并且遇到了明显的范围问题。TypeScript/JavaScript 不允许我们从 Promise 结构(甚至从封闭的函数)中调用“super”。我们收到此错误:
TypeScript:“super”只能在派生类或对象文字表达式的成员中引用
有没有解决的办法?这是代码:
export class VendorBill extends Transaction {
constructor() {
super();
}
save() {
let deferred = $.Deferred();
$.ajax({
type: "GET",
url: '/myrestapi',
success: function (data) {
deferred.resolve();
},
error: function (jqXHR: any, textStatus, errorThrown) {
deferred.reject()
}
})
$.when(deferred).always(function () {
super.save(); <----------- THIS IS CAUSING THE ERROR
})
}
}
Run Code Online (Sandbox Code Playgroud) 我们使用LoopBack REST框架来公开我们的数据库(和业务逻辑).我们需要允许客户在数据库(单租户和多租户)中创建可通过REST端点访问的自定义表.所有客户都需要使用相同的公共(生产)REST端点,这些端点将在多个服务器上公开.但是,只有创建它们的客户才能访问自定义表和关联的REST端点.这意味着我们无法将自定义表的模型写入光盘.我们需要能够在生产REST端点的上下文中动态创建实际的REST端点.
问题:我们如何在代码中动态创建自定义REST端点(动态)而无需将模型写入光盘上的JSON文件?
我们将LoopBack用于REST API.我们注意到REST端点返回JSON的不一致.我们可以编写代码,但最好知道如何在我们的代码中正确解决它.问题是当标准REST端点返回JSON时,没有JSON对象ID.但是,当我们从直接执行的查询返回JSON时,我们必须指定一个对象ID.这是从标准LoopBack REST'get'调用返回的JSON:

当我们返回自己的JSON时,它似乎必须有一个ID:

这是我们如何返回自己的JSON(TypeScript):
var sql: string = "SELECT * FROM as_trialbalancelist"
// Execute the SQL
dbConn.query(sql, function (error: number, rows: any, fields: any) {
// Check for errors
if (error) {
console.log('ERROR: ' + error);
// TODO: Need better error return.
// res.send(error);
return;
}
callback(null, rows);
});
Dataview.remoteMethod(
'trialbalance',
{
returns: { arg: 'data' },
http: { verb: 'get' }
}
);
Run Code Online (Sandbox Code Playgroud)
当我们删除"returns:{arg:'data'}"时会导致错误.空白'arg'也会导致问题.
javascript ×5
loopbackjs ×4
strongloop ×4
typescript ×4
rest ×2
css ×1
debugging ×1
dynamic ×1
endpoint ×1
enums ×1
inheritance ×1
jquery ×1
jsdoc ×1
jsdoc3 ×1
json ×1
knex.js ×1
mysql ×1
node.js ×1
sql-update ×1