Asp.net core mvc 无法将StencilJS与.net core mvc一起使用

Asp.net core mvc 无法将StencilJS与.net core mvc一起使用,asp.net-core-mvc,stenciljs,Asp.net Core Mvc,Stenciljs,我不熟悉StencilJS,有一个编译过的自定义组件,我正试图在.Net核心MVC中使用它。我在我的_布局中添加JavaScript,如下所示: <script type="module" src="~/js/customui.esm.js"> and <script nomodule src="~/js/customui.js"> 和 然后添加自定义组件标记 <my-buttom></my-button> 然而,任何东西都不会呈现在屏幕

我不熟悉StencilJS,有一个编译过的自定义组件,我正试图在.Net核心MVC中使用它。我在我的_布局中添加JavaScript,如下所示:

<script type="module" src="~/js/customui.esm.js"> and <script nomodule src="~/js/customui.js">
然后添加自定义组件标记

<my-buttom></my-button>

然而,任何东西都不会呈现在屏幕上。在我的组件渲染中,我有:

<host class={'myButtonTheme'}>Test render</host>
测试渲染

我不确定我做错了什么。我已将StencilJS配置为默认输出设置

我认为错误在于您使用的是
Host
(大写)是从
@stencil/core
导出的功能组件,您必须像

从'@stencil/core'导入{Component,Host,h};
@组件({标记:'我的按钮'})
导出类MyButton{
render(){
返回测试渲染;
}
}

作为标记将是本机HTML元素(因为自定义元素的名称中需要破折号),但规范中不存在此类元素。

如何解析路径中的
~
?您的浏览器控制台中是否有错误?另外,可能只是问题中的一个输入错误,但您的开始标记有
button
而不是
button
。这可能是一个输入错误,因为在我的应用程序中,~被视为根目录或文件所在的主文件夹。因此,通过执行~/js,它将进入根目录,然后进入我的js文件夹,在那里我有我的JavaScript文件。我把它们放进了我的测试MVC应用程序,但仍然不起作用。通过调用文件的方式,我在p-12330e4d.js上获得了一个加载资源失败的消息。不确定这是什么,因为它只在我加载customui.js文件时显示。我把它改为just,得到两个错误,一个是p-df05220e.sysmte.js,另一个是promise中有一个未捕获的错误。在HtmlScript元素处。。我使用的每个构建的解决方案表单模具是否存在问题?我必须了解如何使用创建的web组件。我以为这只是我命名的几个JS文件,而不是整个文件夹。我只是试着把整个文件夹拉过来,结果成功了。为什么我需要整个文件夹而不是命名文件?我一定不明白如何使用web组件。是的,你需要整个文件夹,因为默认情况下,模具惰性加载默认组件。自Stencil 1.9以来,有一个新的输出目标名为
dist custom elements bundle
,您可以尝试(使用Stencil cli的
--next
标志)。它将把所有组件捆绑到一个js文件中。