网站搜索

node.js - ts-node 导入在运行时未定义


我有以下引用 import { STORE } from "../data/store"; 它是一个 React 项目的一部分,并且按预期工作。

但是我需要单独运行一些代码在 STORE 上,并以与 React 项目中相同的方式访问它,但通过 ts-node 运行。当我尝试通过 let data=STORE[videoId].labels; 访问 STORE 时,videoId 设置为 "home",我得到 TypeError: Cannot read property 'home' of undefined。

有人知道我漏掉了什么吗——肯定是 ts-node 特有的某些东西...? 谢谢!

答案#1

如果有人因为导入问题而来到这个页面,就像我一样,这就是我的问题所在:

我有三个文件:index.ts、File.json 和 File.ts

在 index.ts 中:

import { thing } from "./File";

在 VS Code 中运行良好:我对 thing 有自动补全功能,一切正常。

但是在运行 ts-node index.ts 时,thing 是未定义的!

当我记起我有 json 文件时,我只是把 File.ts 重命名为 File.module.ts,然后把导入改为:

import { thing } from "./File.module";

问题解决了。

答案#2

听起来属性 STORE 未定义。

如果你将 import { STORE } from "../data/store"; 改为 import * as STORE from "../data/store",它能正常工作吗?