servicestack角spa模板

时间:2017-11-06 20:31:20

标签: servicestack

尝试使用servicestack https://github.com/NetCoreTemplates/angular-lite-spa并在执行时:npm run dev
得到了这个错误。有没有办法获得更多信息性的例外?

 Uncaught Error: Expected 'styles' to be an array of strings.
at assertArrayOfStrings (compiler.es5.js:3796)
at CompileMetadataResolver.getNonNormalizedDirectiveMetadata (compiler.es5.js:15185)
at CompileMetadataResolver._getEntryComponentMetadata (compiler.es5.js:15903)
at compiler.es5.js:15485
at Array.map (<anonymous>)
at CompileMetadataResolver.getNgModuleMetadata (compiler.es5.js:15485)
at JitCompiler._loadModules (compiler.es5.js:26826)
at JitCompiler._compileModuleAndComponents (compiler.es5.js:26799)
at JitCompiler.compileModuleAsync (compiler.es5.js:26728)
at PlatformRef_._bootstrapModuleWithZone (core.es5.js:4536)

1 个答案:

答案 0 :(得分:1)

有关ServiceStack的新ServiceStack's v5 changes

的信息,请查看.NET Core Templates

模板仍在改进,但我能够下载angular-lite-spa repo并在VS.NET 2017中打开 MyApp.sln ,它可以获取服务器NuGet包并运行{ {1}}获取所有客户端npm依赖项,在等待安装所有npm依赖项之后,它调用Webpack自动生成npm install页面,此时您可以点击 F5 启动网络应用程序。

对于大型SPA项目,npm可能会出现加载其中一些依赖项的问题,您可以通过查看VS.NET的输出窗口(Ctrl + Alt + O)并选择 Bower / npm 来预览它们。下拉列表中的输出窗口。如果wwwrooot\index.html生成正确并且Web App在没有JavaScript错误的情况下运行,则意味着项目依赖项已成功安装而没有问题。

使用新模板进行开发的推荐方法是使用index.html(或在VS.NET的Task Runner中运行npm run watch gulp任务),该任务将运行Webpack watch build以重新生成任何已修改的服务器上的资产。在ServiceStack v5中,现在在DebugMode中有一个内置的热加载器,它将监视服务器00-webpack-watch文件夹中的任何更改并重新加载页面。

您仍然可以使用wwwroot进行开发,但这会在npm run dev启动Webpack Dev Server,这也需要在http://localhost:3000/运行后端.NET Core Web App。

我已经在GitHub上重新测试了最新的angular-lite-spa项目,并且所有任务都在运行,包括http://localhost:5000/,其中npm run dev能够使用TypeScript源文件更改重新加载页面。

如果您运行默认模板时出现JavaScript错误,可能是由于安装损坏,您可以通过删除node_modules/文件夹并再次运行npm install并监视控制台窗口以查找任何问题来重试