html 模板中的 lit-element 样式与静态样式 getter?
lit-element styles within html template versus static styles getter?
给定以下代码和 lit-html vscode 扩展,语法突出显示不适用于静态样式 getter
class MyComponent extends LitElement {
// SYNTAX HIGHLIGHTING FAILS
static get styles() {
return css`
* {}
`
}
// SYNTAX HIGHLIGHTING WORKS
render() {
return html`
<style>
* {}
</style>
`
}
}
但是它在渲染函数的 html 模板中确实有效
为了性能,选择渲染函数中的样式而不是静态样式有多糟糕getter?
将样式移动到渲染函数中意味着:
- 失去所有性能提升(通过使用可构建的样式表获得)
- 并且它可能会诱使您在其中使用
${this.foo}
(如果
你想要高性能或者你想要支持非原生阴影 dom
浏览器)
所以我会说这样做是为了语法高亮是个坏主意。
您可以通过使用 more/different 插件获得这些:
- lit-plugin 语法高亮、类型检查和代码
lit-html 的完成(替换 lit-html vscode 扩展名)
- vscode-styled-components全部高亮显示
您的 css 标记的模板文字(单独添加 css 突出显示 - 例如将其与 lit-html vscode 扩展名结合使用)
您总能在此处找到的最新列表 https://open-wc.org/developing/ide.html#plugins
给定以下代码和 lit-html vscode 扩展,语法突出显示不适用于静态样式 getter
class MyComponent extends LitElement {
// SYNTAX HIGHLIGHTING FAILS
static get styles() {
return css`
* {}
`
}
// SYNTAX HIGHLIGHTING WORKS
render() {
return html`
<style>
* {}
</style>
`
}
}
但是它在渲染函数的 html 模板中确实有效
为了性能,选择渲染函数中的样式而不是静态样式有多糟糕getter?
将样式移动到渲染函数中意味着:
- 失去所有性能提升(通过使用可构建的样式表获得)
- 并且它可能会诱使您在其中使用
${this.foo}
(如果 你想要高性能或者你想要支持非原生阴影 dom 浏览器)
所以我会说这样做是为了语法高亮是个坏主意。
您可以通过使用 more/different 插件获得这些:
- lit-plugin 语法高亮、类型检查和代码 lit-html 的完成(替换 lit-html vscode 扩展名)
- vscode-styled-components全部高亮显示 您的 css 标记的模板文字(单独添加 css 突出显示 - 例如将其与 lit-html vscode 扩展名结合使用)
您总能在此处找到的最新列表 https://open-wc.org/developing/ide.html#plugins