TS报错Uncaught ReferenceError: exports is not defined at 02-basis.js:2:23的解决办法
时间: 2023-08-07 12:17:41 浏览: 200
这个报错通常是因为在浏览器环境下使用了 CommonJS 的模块化语法,而浏览器不支持这种语法所导致的。解决这个问题的方法有两种:
1. 使用 ES6 的模块化语法
在你的 TypeScript 代码中,可以使用 ES6 的模块化语法来导出和导入模块。例如,你可以使用 `export` 关键字来导出模块:
```typescript
export function myFunction() {
// ...
}
```
然后,在其他文件中,可以使用 `import` 关键字来导入模块:
```typescript
import { myFunction } from './my-module';
```
使用 ES6 的模块化语法可以避免在浏览器中出现 `exports is not defined` 的错误。
2. 使用打包工具
如果你不想使用 ES6 的模块化语法,可以使用打包工具(如 webpack、Browserify 等)将你的 TypeScript 代码打包成浏览器可以运行的代码。这些打包工具会将你的 CommonJS 模块转换成浏览器可以识别的代码。
例如,如果你使用 webpack 打包你的 TypeScript 代码,可以在 webpack 配置文件中添加以下配置:
```javascript
module.exports = {
// ...
target: 'web',
output: {
libraryTarget: 'umd',
globalObject: 'this'
}
}
```
这个配置将会把你的代码打包成一个 UMD 模块,这样就可以在浏览器环境中使用 CommonJS 的语法了。
阅读全文