问题标签 [stenciljs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
497 浏览

javascript - 如何将模板组件与普通 JS 自定义元素(Web 组件)一起使用?

我在使用 JS 自定义元素(Web 组件)和 stenciljs 组件并支持 IE11 和现代浏览器时遇到问题。

我已经下载了模板启动项目https://github.com/ionic-team/stencil-component-starter并尝试了以下代码:

我在 Chrome 中收到此错误:

未捕获的 TypeError:如果没有 new j 处的“new”,就无法调用类构造函数(custom-elements-es5-adapter.js:4)

如果不使用 polyfill,它在任何浏览器中都不起作用。

如何将模板组件与普通 JS 自定义元素(Web 组件)一起使用?

0 投票
1 回答
839 浏览

javascript - 模板组件方法定义

我在开发 stencil.js Web 组件时遇到问题。我有这个错误:

(索引):28 未捕获的类型错误:comp.hideDataPanel 不是 HTMLDocument 中的函数。((指数):28)

我想将我的模板组件集成到一个更大的 browserify 项目中

在此之前,我正在使用模板 server-dev 尝试以下 index.html

我的组件的方法似乎在 DomContentLoaded 事件中未解决,而在异步用户单击事件中解决了相同的方法。请注意,由于打字稿代码中的@Method(),用户可以使用 .hideDataPanel() 方法(如下所示:https ://stenciljs.com/docs/decorators )

为了将来的集成,我想在我的 Web 应用程序启动时绑定我的模板组件方法。我怎么做 ?我应该等待页面或组件生命周期中的特定事件来解决组件方法吗?

先感谢您

0 投票
3 回答
1730 浏览

javascript - 如何在 Storybook React App 中嵌入 StencilJS 组件?

我正在尝试将StencilStorybook集成到同一个项目中。我一直在关注这个设置指南,但是其中一个步骤是将组件库发布到 NPM,这不是我想要的

我有这个repo,我用组件库(src文件夹)和这些组件的审阅者配置了 Storybook,它位于storybook文件夹中。

问题是,当我使用 Stencil 编译组件并复制distStorybook 应用程序中的文件夹并导入组件时,没有任何渲染。使用自定义头部标签调整配置我能够正确导入它,但是没有应用样式。

当我打开网络面板时,导入组件时出现一些错误:

控制台错误

因此该组件存在于 DOM 中,但可见性设置为隐藏,我认为它在出现错误时会这样做。

这是组件au-button

这是我的组件的故事:

这些是 Storybook 应用程序中的脚本:

工作流程如下:

  1. 推出故事书
  2. 在组件中进行更改
  3. 执行构建命令
  4. 执行复制命令

另外,我想自动化开发人员体验,但在我先解决了这个问题之后。

关于我可能做错了什么的任何想法?

0 投票
1 回答
1161 浏览

javascript - 错误:全局安装生成器模板后找不到模块“../utils/composeObjs”

我在https://github.com/AkashGutha/generator-stencil为 stenciljs 编写生成器

我有一个位于项目根目录的小型实用程序函数。它只是一个utils/composeObjects.js导出一个函数的文件composeObjs。我在生成器的所有子生成器中都使用了这个函数。我在这些地方使用它:

  • app/index.js
  • page/index.js
  • component/index.js

我正在使用本地测试我的生成器npm link,然后当我yo stencil在一个空文件夹中进行测试时,生成器可以正常工作。

但是,当我npm publish尝试运行yo stencil它时,它会引发以下错误。

搜索后我发现当全局安装包时 require 不能按预期工作。但是,我查看了 github 上的其他一些生成器,其中一些使用了某种 util 函数,并且在全局安装时它们工作正常。

我也怀疑这可能是因为运行的主模块是 main yeoman,因为yo stencil告诉yeoman cli使用它generator

我需要摆脱这个错误也将是 niec 了解导致此模块错误的原因。

这是 github 问题:https ://github.com/AkashGutha/generator-stencil/issues/1

0 投票
1 回答
1207 浏览

javascript - StencilJS 导出自定义类

有什么方法可以强制 StencilJS 导出枚举以便常规 JavaScript 代码使用?

生成的 JavaScript 文件仅导出组件类。

它不会导出使用 JavaScript 定义的其他类或枚举。

假设一个 Enum 在 TypeScript 中定义如下:

生成的 JavaScript 文件包含:

如何强制 StencilJS 将 ViewType 添加到导出的类型列表中?

0 投票
3 回答
1319 浏览

angular - Angular Elements 和 Stencil 的技术概念

Angular ElementsStencil的技术概念相似吗?

Angular Elements将是 Angular 6 中的一项新功能,您基本上可以将编写的 Angular 组件包装为 Web 组件。据我了解,生成的自定义元素只是通向 Angular 的桥梁,因此我们仍然必须发布 Angular。

另一方面,Stencil声称是生成 Web 组件的编译器。那么生成的自定义元素不仅仅是通向某物的桥梁吗?

我说对了吗?

0 投票
3 回答
12306 浏览

javascript - 如何在 Stenciljs 中获取 DOM 元素?

我想像在原生 JS 中一样获取 DOM 元素。你如何在 Stencil 中做到这一点?getElementById不起作用。

0 投票
1 回答
197 浏览

javascript - 使用 react 或 web 组件使用 javascript 数据块的最佳方式?

我将使用使用 Microsoft Behaviors 和 Data Islands 构建的遗留软件,自 IE 10 起不再支持两者。中间层将 xml 数据转换为“数据块”(如果 JavaScript 可以将元素的内容用作数据块,则src 属性被省略..)。不幸的是,这些数据块数不胜数,因此完全重写中间层或建立无服务器架构与后端接口是不可能的。一个干净的解决方案让我望而却步,任何人都可以想出一种方法来重用这些现有的数据块与现代框架,如反应,角度,vue,模具(通过网络组件的自定义元素)?

0 投票
2 回答
3384 浏览

javascript - 在 stenciljs 中将值绑定为 html

我无法将带有自定义 html 的值呈现到元素中。前任:

捆绑:

我期待与JavaScript 中的innerHtml行为相同的东西。

0 投票
3 回答
3525 浏览

javascript - Stenciljs @Method 不工作

我正在努力让stenciljs中的@Method 工作 - 任何帮助将不胜感激。

这是我的组件代码,其中包含我想在组件上公开的名为setName的函数:

这是引用该组件的 html 和脚本:

这是我遇到的错误的屏幕截图,它是Uncaught TypeError: myName.setName is not a function

在此处输入图像描述