Javascript 在HTML文件中使用组件的StencilJS
我想在常规的基本HTML文件中使用使用StencilJS创建的组件。我遵循以下步骤: 我创建了一个模具组件来创建基本的“我的组件”示例:Javascript 在HTML文件中使用组件的StencilJS,javascript,html,stenciljs,Javascript,Html,Stenciljs,我想在常规的基本HTML文件中使用使用StencilJS创建的组件。我遵循以下步骤: 我创建了一个模具组件来创建基本的“我的组件”示例: npm init stencil 我想在HTML文件中使用这个组件,所以我运行了 npm run build 然后,我创建了一个具有以下结构的html项目: 然后我将文件从dist文件夹移动到script文件夹。我在html文件的头部添加了脚本标记,它引用component.js文件,如下所示: <script src="script/{compo
npm init stencil
我想在HTML文件中使用这个组件,所以我运行了
npm run build
然后,我创建了一个具有以下结构的html项目:
然后我将文件从dist文件夹移动到script文件夹。我在html文件的头部添加了脚本标记,它引用component.js文件,如下所示:
<script src="script/{component_name}/{component_name}.js"></script>
<my-component first="Stencil" last="'Don't call me a framework' JS"></my-component>
我在html中使用了如下组件:
<script src="script/{component_name}/{component_name}.js"></script>
<my-component first="Stencil" last="'Don't call me a framework' JS"></my-component>
但是我的组件没有被渲染。我得到一个涉及esm.js文件的错误。有人能帮我编译模板组件以用于基本HTML项目吗 模具将您的dist捆绑到模块中,并且根据您在HTML中实际使用的组件,仅延迟加载所需的代码。因此,您应该将整个
dist
文件夹与您的网站一起提供服务
建议在html文件中使用以下两个脚本标记:
(其中[namespace]
是在模具.config.ts
中设置的内容)
这将指示支持ES模块的浏览器使用esm捆绑包,其他浏览器将使用ES5(cjs)捆绑包
如果my component
是您从库中使用的唯一组件,则页面将延迟加载该代码。Stencil知道组件的相互依赖性以及如何相应地延迟加载它们
有一个新的实验性输出目标(称为
customelementsbundle
),允许您将所有内容捆绑到一个js文件中,这在某些情况下可以简化分发。它仅适用于新的重构编译器(安装@stencil后,可使用--next
标志使用)/core@next
)(Stencil 2已经发布了一段时间了)。Stencil将您的dist绑定到模块中,并根据您在HTML中实际使用的组件仅延迟加载所需的代码。因此,您应该将整个dist
文件夹与您的网站一起提供服务
建议在html文件中使用以下两个脚本标记:
(其中[namespace]
是在模具.config.ts
中设置的内容)
这将指示支持ES模块的浏览器使用esm捆绑包,其他浏览器将使用ES5(cjs)捆绑包
如果my component
是您从库中使用的唯一组件,则页面将延迟加载该代码。Stencil知道组件的相互依赖性以及如何相应地延迟加载它们
有一个新的实验性输出目标(称为
customelementsbundle
),允许您将所有内容捆绑到一个js文件中,这在某些情况下可以简化分发。它仅适用于新的重构编译器(安装@stencil后,可使用--next
标志使用)/core@next
)(模具2已经推出一段时间了)。你好,伙计!我正在检查,但是nomodule路径是错误的,你们知道为什么吗?不,我不知道。我只是看了看,它仍然是相同的路径。哦,在我的情况下,脚本不存在,因为es5在Stencil 2.0之后默认被禁用,谢谢!你好,伙计!我正在检查,但是nomodule路径是错误的,你们知道为什么吗?不,我不知道。我只是看了看,它仍然是相同的路径。哦,在我的情况下,脚本不存在,因为es5在Stencil 2.0之后默认被禁用,谢谢!