【发布时间】:2019-08-17 00:30:31
【问题描述】:
我对打字稿比较陌生,我很不明白为什么在执行tsc Program.ts 然后运行之后
Program.js 在浏览器中对我大喊大叫ReferenceError: exports is not defined
程序.ts
import { TestClass } from './TestClass';
var tc = new TestClass();
console.log(tc.Test("test"));
TestClass.ts
import {Data} from "./Data";
export class TestClass
{
constructor() {}
Test(originalString:string)
{
console.log(Data.Symbols["John"] + " " + originalString);
}
}
数据.ts
export abstract class Data
{
public static Symbols:{[symbol: string] : string} =
{
"John":"a5fq36831v",
}
}
package-lock.json
{
"requires": true,
"lockfileVersion": 1,
"dependencies":
{
"uniq":
{
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
}
}
}
我安装了npm i @types/node
我看过这个帖子:Typescript ReferenceError: exports is not defined
但我没有任何tsconfig.json 或babelrc 文件。
这个技巧部分适用于我<script>var exports = {};</script>t
因为在那之后ReferenceError: require is not defined
是否可以在不安装大量软件的情况下使其工作?
npm i common-js
npm WARN saveError ENOENT: no such file or directory, open 'C:\Repo\Master\src\TypeScript\package.json'
npm WARN saveError EPERM: operation not permitted, rename 'C:\Repo\Master\src\TypeScript\package-lock.json.1161578677' -> 'C:\Repo\src\TypeScript\package-lock.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\Repo\Master\src\TypeScript\package.json'
npm WARN TypeScript No description
npm WARN TypeScript No repository field.
npm WARN TypeScript No README data
npm WARN TypeScript No license field.
+ common-js@0.3.8
added 1 package in 2.141s
PS C:\Repo\Master\src\TypeScript> tsc ProgramParser.ts
ReferenceError: exports is not defined Program.js:2:1
ReferenceError: Parser is not defined html.html:40:6
【问题讨论】:
-
你检查过这个链接解决了
ReferenceError: require is not definedstackoverflow.com/questions/19059580/… -
没有
tsconfig.json?这听起来令人震惊。tsconfig.json是关于如何进行转译的配置文件。如果你想避免tsconfig.json,我想你可以使用标志。但更重要的是,您是在构建 node.js 应用程序还是 Web 应用程序?你提到了浏览器,所以我假设是网络应用程序,那么我认为你需要的是tsc --module es6之类的东西。exports未定义错误显示,因为您的tsc命令可能已转换为用于 nodejs 应用程序而非 Web 应用程序的 commonjs。
标签: javascript node.js typescript