我要做的是将我在Typescript中编写的库与Webpack 2捆绑在一起,并且即使使用vanilla JS也可以使用这个库。建筑物运行良好且没有错误,但是当使用导出的对象时,它看起来像一个空对象{}
。
所以我试图做的是以下内容:
bundle.js
和my-js-script.js
个文件import {SomeStuff} from 'some-stuff';
export class ClassA {
constructor(){
// Does other stuff with SomeStuff
}
}
// What I want to achieve is something like this
export const myModule = new ClassA();
我认为创建一个导入bundle和my-js-script文件的html文件就足以访问myModule
常量了。但不幸的是,这还不够。
<html>
<head>
<script src="./bundle.js"></script>
<script src="./my-js-script.js"></script>
</head>
<body>
</body>
</html>
myModule.doSomething();
我错过了什么?或者根本没有机会这样做? webpack配置很简单
var path = require("path");
module.exports = {
entry: "./src/web-onion.ts",
output: {
path: path.resolve(__dirname, 'dist/'),
filename: "bundle.js"
},
resolve: {
extensions: [".webpack.js", ".web.js", ".ts", ".tsx", ".js"]
},
module: {
loaders: [
{ test: /\.tsx?$/, loader: "ts-loader" }
]
}
}
答案 0 :(得分:1)
你不能这样做。 myModule
不会导出为全局。如果要全局导出某些内容,请在TypeScript文件中使用:
window.something = myModule
注意:您必须扩展Window界面或使用(window as any)
。