-1
logic.tsNodeJS
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が関数でないことを示すエラーをスロー "class.functionは関数ではありません"実行時にのみエラーをビルドします。すべてのファイルは同じディレクトリにあります。私が試してみました
もの:
名前空間の下に「アルゴリズム」を論理機能をラップし、そのようにそれらをインポートします。
import {Algorithms} from "./logic"
も経由で参照しようとしました:/// <reference path="logic.ts" />
あなたはすでに 'export function functionA(){...}'を試しましたか? –
MCVEを提供してください。 –
@SayanPalはい私は、それは私が現在持っている方法です。 – Gio