如何在 Visual Studio ASP.NET 核心应用程序中使用 lit-element with Polymer

How to use lit-element in Visual Studio ASP.NET Core app with Polymer

我有一个使用 Visual Studio ASP.NET Core 和 Polymer 2 开发的应用程序作为前端。 该应用程序在前一年运行良好,但现在我需要添加新功能。 最新的 Polymer 文档建议更新到 Polymer 3 或使用 lit-element 作为新 Web 组件的基础 class。

问题是:lit-element 使用 JavaScript 没有任何路径信息的模块说明符(f.e。从 'lit-html' 导入 { TemplateResult })。 Polymer 开发服务器在开发期间将这些说明符更改为正确的路径。然而,ASP.NET Core (Kestrel) 的开发服务器在没有对浏览器进行任何更改的情况下传递了模块导入说明符,但浏览器(在我的测试中为 Chrome)告诉我:

未捕获类型错误:无法解析模块说明符 "lit-html"。相对引用必须以“/”、“./”或“../”开头。

注意:我已经将自己代码中 lit-element 的导入说明符更改为实际路径,这样它就可以工作了。但是上面的错误来自lit-element本身!

我认为这不是我手动更改所有依赖项中的所有说明符的解决方案(每次更新都会覆盖)。此外,我认为这不是每次我想调试我的应用程序时 运行 Polymer 构建的解决方案(Polymer 构建可能需要长达一分钟!)

所以我的问题是:如何在 Visual Studio 中使用 Polymer Lit-Element 进行调试?

我建议使用带有 node-resolve 插件的打包器,如 Rollup,and/or 使用基于节点的开发服务器,如 es-dev-server,并从你的 . NET 服务器进行开发。 Rollup 有一个监视模式,可以进行增量构建以加快开发周转速度。