问题描述:在使用ASP.NET Core、Webpack、TypeScript和Knockout进行开发时,脚本标签不起作用。
解决方法:
确保安装了必要的依赖:
npm init
,生成package.json
文件。npm install webpack webpack-cli --save-dev
。npm install typescript ts-loader --save-dev
。npm install knockout --save
。配置Webpack:
webpack.config.js
文件。module.exports = {
entry: './src/app.ts',
output: {
filename: 'bundle.js',
path: __dirname + '/wwwroot/dist'
},
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
}
};
创建TypeScript文件:
src
文件夹,并在其中创建一个app.ts
文件。app.ts
文件中编写TypeScript代码,例如:import * as ko from 'knockout';
class ViewModel {
name: KnockoutObservable;
constructor() {
this.name = ko.observable('John Doe');
}
}
const viewModel = new ViewModel();
ko.applyBindings(viewModel);
在ASP.NET Core视图中添加脚本标签:
构建和运行项目:
npm run build
,使用Webpack构建项目。这样,脚本标签就会正确加载并执行你在TypeScript文件中编写的Knockout代码。