Get*_*awn 5 javascript typescript webpack
我有 3 个文件,它们看起来像这样:
工具/索引.ts
export * from './Vector2'
export * from './Sprite'
export * from './GameObject'
export * from './Component'
Run Code Online (Sandbox Code Playgroud)
util/Component.ts
export interface ComponentType<T extends Component> {
new(gameObject: GameObject): T;
}
export class Component { }
Run Code Online (Sandbox Code Playgroud)
组件/刚体.ts
import { Component } from '../util'
export class Rigidbody extends Component { }
Run Code Online (Sandbox Code Playgroud)
在编辑器中一切正常,当代码编译成 javascript 时。但是,当我在浏览器中运行代码时,出现错误:
未捕获的类型错误:类扩展值未定义不是构造函数或 null
这是指 export class Rigidbody extends Component
如果我将导入更改为导入Component文件而不是index文件,则它可以工作:
import { Component } from '../util/Component'
Run Code Online (Sandbox Code Playgroud)
我也有一个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')
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |