我有3个文件,如下所示:
UTIL / index.ts
export * from './Vector2'
export * from './Sprite'
export * from './GameObject'
export * from './Component'
UTIL / Component.ts
export interface ComponentType<T extends Component> {
new(gameObject: GameObject): T;
}
export class Component { }
组件/ Rigidbody.ts
import { Component } from '../util'
export class Rigidbody extends Component { }
编辑器中的一切正常,当代码编译成javascript时。但是,当我在浏览器中运行代码时,我收到错误:
未捕获的TypeError:类扩展值undefined不是构造函数或null
指的是export class Rigidbody extends Component
如果我更改导入以导入Component
文件而不是index
文件,则可以使用该文件:
import { Component } from '../util/Component'
我还有一个导入Transform
文件的Component
文件,而且那个文件做同样的事情。
我做错了什么或是我用webpack构建它的方式?
这是我的webpack文件:
const path = require('path')
module.exports = {
entry: './src/index.ts',
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: [".tsx", ".ts", ".js"],
alias: {
PIXI: path.join(__dirname, 'node_modules/pixi.js/lib/index.js')
}
},
output: {
libraryTarget: 'var',
library: 'phoenix',
filename: 'phoenix.js',
path: path.resolve(__dirname, 'dist')
}
};