Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图将用typescript编写的类导入javascript节点,出现错误_Javascript_Node.js_Typescript - Fatal编程技术网

试图将用typescript编写的类导入javascript节点,出现错误

试图将用typescript编写的类导入javascript节点,出现错误,javascript,node.js,typescript,Javascript,Node.js,Typescript,我正在创建一个node express应用程序。 对于我的用例,我有一个1.ts文件,其类为: export class blah { constructor(props) { } tt() { console.log('logging function'); } } 在我的2.js文件中,我作为 const blah = require('./1') var b = new blah.blah() console.log(b.tt()) 但未调

我正在创建一个node express应用程序。 对于我的用例,我有一个1.ts文件,其类为:

export class blah {
    constructor(props) {

    }
    tt() {
      console.log('logging function');
    }
}
在我的2.js文件中,我作为

const blah = require('./1')
var b = new blah.blah()
console.log(b.tt())
但未调用console.function中的任何内容

如何解决此问题。 tsconfig.json文件内容

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
   "sourceMap": true,
   "experimentalDecorators": true,
   "emitDecoratorMetadata": true
  },
 "exclude": [
"node_modules"
 ]
}
一定是 const blah=require(“./1”)

它必须是
const blah=require(“/1”)

我正在发布文件内容的答案。这个代码对我有用。我只是在包含文件的目录中运行命令
tsc
。输出文件是
1.js
1.js.map
。然后我运行
节点2
。输出是

logging function
undefined
(旁注:它打印未定义的
,因为调用
console.log(b.tt())
试图打印
b.tt()
的返回值,但它不返回任何内容)

const blah=[…]
给出了与您相同的错误

目录结构(同一级别上的所有内容):

  • 1.ts
  • 2.js
  • tsconfig.json
1.ts

2.js

tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "sourceMap": true,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    },
    "exclude": [
        "node_modules"
    ]
}

我张贴作为一个回答张贴的文件内容。这个代码对我有用。我只是在包含文件的目录中运行命令
tsc
。输出文件是
1.js
1.js.map
。然后我运行
节点2
。输出是

logging function
undefined
(旁注:它打印未定义的
,因为调用
console.log(b.tt())
试图打印
b.tt()
的返回值,但它不返回任何内容)

const blah=[…]
给出了与您相同的错误

目录结构(同一级别上的所有内容):

  • 1.ts
  • 2.js
  • tsconfig.json
1.ts

2.js

tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "sourceMap": true,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    },
    "exclude": [
        "node_modules"
    ]
}


您正在使用{}它用于销毁对象..意味着当您的库导出多个内容并希望访问其中的一部分时,您可以使用销毁语法..不,它不适用于您的解决方案,它会给出相同的结果。更新了问题,它可以识别类,但无法调用函数。请在回答中添加一个解释,说明为什么您认为它应该是这样的,以及为什么OP的代码不起作用。您正在使用{}它用于销毁对象..意味着当您的库导出多个内容并希望访问其中的一部分时,您可以使用销毁语法..不,它不适用于您的解决方案,它会给出相同的结果。更新了问题,它可以识别类,但无法调用函数。请在回答中添加一个解释,说明为什么您认为应该是这样,以及为什么OP的代码不起作用。您的代码在我的机器上起作用。您是否重新编译了
tsc 1.ts
?是的,这是我的package.json脚本“build ts”:“tsc&&nodemon./src/index.js”,“dev”:“nodemon-e ts--exec \“warn build ts\”,我由warn devDo运行您有
tsconfig.json
文件吗?这是。。更新了问题。你的代码在我的机器上运行。您是否重新编译了
tsc 1.ts
?是的,这是我的package.json脚本“build ts”:“tsc&&nodemon./src/index.js”,“dev”:“nodemon-e ts--exec \“warn build ts\”,我由warn devDo运行您有
tsconfig.json
文件吗?这是。。更新了问题。即使我在函数中添加了return语句,它也不会在控制台中打印任何内容。您是否尝试复制我发布的文件的内容,并按照步骤排除typescript编译的问题?根据它是否工作,你可以排除一些可能的错误。“nodemon-ets--exec”可能有问题\“Thread build ts`即使我在函数中添加了return语句,它也不会在控制台中打印任何内容。您是否尝试复制我发布的文件的内容,并按照步骤排除typescript编译的问题?根据它是否工作,你可以排除一些可能的错误。“nodemon-ets--exec\”纱线构建ts可能有问题`