【发布时间】:2017-12-29 06:21:19
【问题描述】:
刚开始使用 webpack,我无法将一些 MVC 功能与 webpack 和 typescript 结合起来。请参阅下面的代码组合:
webpack.config.js:
var wbConfigEntries = {
"jqkendoMain": [
paths.appjs + "main.ts"
]
};
module.exports = {
devtool: 'source-map',
entry: wbConfigEntries,
target: 'web',
output: {
path: paths.dist,
publicPath: './',
filename: outputFile,
library: "[name]",
libraryTarget: "umd",
umdNamedDefine: true
},
....
main.ts:
import * as $ from 'jquery';
import * as bootstrap from 'bootstrap';
import '../node_modules/@progress/kendo-ui/js/kendo.web';
import '../node_modules/@progress/kendo-ui/js/kendo.aspnetmvc';
import '../node_modules/bootstrap/dist/css/bootstrap.css';
import '../node_modules/bootstrap/dist/css/bootstrap-theme.css';
import '../node_modules/font-awesome/css/font-awesome.css';
import '../node_modules/@progress/kendo-ui/css/web/kendo.common.css';
export default class Main {
private _name = '';
constructor(name: string) {
this._name = name;
}
TestFunc() {
console.log(this._name);
}
}
_layout.cshtml:
...
var mn = new jqkendoMain.Main('@WebpackMVC5App.Helpers.WebConfigSettings.RandomWebConfigValue');
mn.TestFunc();
...
我知道我在 main.ts 中包含了几个我(还)不需要的导入,但我使用它作为测试用例来更新一些遗留代码。基本上我的目标是能够编译/捆绑所有的打字稿,然后将一些来自 MVC5 静态类的值传递给打字稿。我希望从我的 .cshtml 文件中调用一些捆绑的函数,但我不知道该怎么做。我知道 jqkendoMain 未定义,或者 jqkendoMain.Main 未定义或其他。关于我所缺少的任何想法?
以上只是我正在尝试的代码示例,您可以在 https://github.com/vishnu4/WebpackMVC5 看到完整的实际代码。
【问题讨论】:
标签: typescript webpack webpack-2 asp.net-mvc-5