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",它能正常工作吗?
