尝试按照官方手册实现模块,我收到以下错误消息:
未捕获的ReferenceError:未定义导出
在app.js:2
但我的代码中没有任何地方使用该名称exports.
我怎样才能解决这个问题?
let a = 2;
let b:number = 3;
import Person = require ('./mods/module-1');
Run Code Online (Sandbox Code Playgroud)
export class Person {
constructor(){
console.log('Person Class');
}
}
export default Person;
Run Code Online (Sandbox Code Playgroud)
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": true,
"outDir": "scripts/"
},
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Typescript 中编写我的前端代码并希望导出代码,我的浏览器可以在
<script src="..."></script>.
我是通过 browserify 和 tsify 这样做的。我的问题是我的代码不能在全局命名空间中访问。将脚本加载到<script>标签中会执行它,当然,但是如果我打算像可以在 inline <script>s 或类似中使用的函数库一样加载它怎么办?
更新
一个例子是
索引.ts
function foo(): void {
console.log("bar");
}
Run Code Online (Sandbox Code Playgroud)
使用以下 conf 编译会产生以下 javascript
配置文件
{
"compilerOptions": {
"module": "UMD",
"target": "es5",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
}
}
Run Code Online (Sandbox Code Playgroud)
索引.js
function foo() {
console.log("bar");
}
Run Code Online (Sandbox Code Playgroud)
这可以。但是,如果 index.js 导入了一些东西,例如我的notification函数,那么我会得到这个
(function (factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports); if (v …Run Code Online (Sandbox Code Playgroud)