-1
logic.ts的NodeJS 「class.function是不是一個函數」
import * as ModelA from "./ModelA";
import * as ModelB from "./ModelB";
export function ProcessPurchases(purchases: ModelA.Purchase[], useInfo: boolean = false): ModelA.Purchase[] {
...
return purchases;
};
export function findSavings(Products: ModelA.Purchase[], OtherProducts: ModelA.Purchase[]): ModelA.Savings{
....
return savings;
};
server.ts
import * as ModelA from "./ModelA";
import * as ModelB from "./ModelB";
import * as Algorithms from "./logic";
import * as _ from "lodash";
var tp = require('tedious-promises');
var dbConfig = {
...
};
var TYPES = require('tedious').TYPES;
tp.setConnectionConfig(dbConfig); // global scope
tp.setPromiseLibrary('es6');
const express = require('express')
const bodyParser = require('body-parser')
var request = require('request');
const app = express();
app.use(bodyParser.json());
app.listen(3000, function (err) {
if (err) {
throw err
}
console.log('Server started on port 3000')
})
interface IKeyValue { [key: string]: any };
namespace ProcessLogic{
function PurchaseSHR(Group: number[], Manufacturer: number, Category: number, useInfo= false): ModelA.Savings{
...
if (useInfo) {
var result= Algorithms.ProcessPurchases(myActualPurchases); //Algorithms.ProcessPurchases is not a function
...
return result;
}
else {
...
}
}
}
}
引發錯誤Algorithms.ProcessPurchases不是一個函數,沒有僅在運行時構建錯誤。所有文件都在同一目錄下。
東西我曾嘗試:
包裹下的命名空間「算法」的邏輯功能,並將其導入像這樣:
import {Algorithms} from "./logic"
也試圖通過引用:/// <reference path="logic.ts" />
你已經試過'導出函數functionA(){...}'? –
請提供一個MCVE。 –
@SayanPal是的,我有,這是我目前擁有它。編輯我的帖子以反映 – Gio