我正在使用Microsoft提供的SPA模板和JavaScript服务构建一个Angular2应用程序(https://blogs.msdn.microsoft.com/webdev/2017/02/14/building-single-page-applications-on-asp-net-core-with-javascriptservices/)。
我想使用Angular Material而不是Bootstrap来进行样式/主题化,但是我无法让它工作。
设置指南(https://material.angular.io/guide/getting-started)之后很简单,但是当涉及到wwwroot dist输出中的npm包中包含主题资源(@ angular / material / prebuilt-themes / ...)以使它们可用于应用程序时我完全失去了。
我认为这只是修改WebPack配置的一种情况,但是经过一两个小时的修补和谷歌搜索之后,我就无法理解该怎么做了。
任何人都能指出我正确的方向吗?
NB。请不要建议将我需要的文件复制到wwwroot或链接到CDN等。
在webpack.config.vendor.js
中添加以下两个条目:
const nonTreeShakableModules = [
...
"@angular/material",
"@angular/material/prebuilt-themes/deeppurple-amber.css"
];
通过以下方式重新运行webpack:
webpack --config webpack.config.vendor.js
Source: Adding Angular Material in ASP.NET Core Angular SPA Template by Fiyaz Hasan
我想我可能找到了一个更完整/全面的方法来实现这个目标......
node_modules
目录npm install --save @angular/material @angular/cdk
npm install --save @angular/animations
@angular
和rxjs
软件包升级到package.json
中的最新/兼容版本。这很头疼。我不知道哪些是正确的版本,哪些是错的!npm install
webpack.config.vendor.js
,添加以下两个值
const nonTreeShakableModules = [
...
'@angular/material',
'@angular/material/prebuilt-themes/deeppurple-amber.css'
];
webpack --config webpack.config.vendor.js
我已经检查了一个模糊的工作版本给GitHub - 它可以在https://github.com/alterius/AngularMaterial2DotNetCoreSPA找到
现在有一个新模板,它比旧模板好得多。我还在Visual Studio提供的旧版本模板中遇到了很多问题。默认情况下,新模板在ASP.Net Core 2.1中可用,否则您需要按照以下链接中的说明操作。
https://docs.microsoft.com/en-us/aspnet/core/spa/angular?view=aspnetcore-2.1&tabs=visual-studio
如果您正在寻找EF Core 2,Angular Material和ASP.Net Core Web API的工作示例,请参阅以下链接
http://hive.rinoy.in/building-a-web-app-using-asp-net-core-2-and-angular5-frameworks/