- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近决定将 PrismJS 与 React 一起使用,为了避免重复导入,我设法使用这个 babel-plugin-prismjs 包来加载插件、语言等。
如插件文档中所示,我在根文件夹中创建了一个 .babelrc 文件:
{
"plugins": [
["prismjs", {
"languages": [
"applescript",
"css",
"javascript",
"markup",
"scss"
],
"plugins": ["line-numbers"],
"theme": "twilight",
"css": true
}]
]
import Prism from 'prismjs'
声明和
Prism.highlightAll()
最佳答案
你已经成功了一半。你还需要导入prismjs
某处,通常在您的app.js
文件,然后调用 Prism.highlightAll()
在要突出显示语法的页面的相应文件中。
我的过程如下:
.babelrc.js
文件:const env = require('./env-config')
module.exports = {
presets: ['next/babel'],
plugins: [
[
'transform-define',
env,
],
[
'prismjs', {
'languages': ['javascript', 'css', 'html', 'jsx'],
'plugins': ['line-numbers', 'show-language', 'copy-to-clipboard'],
'theme': 'tomorrow',
'css': true
},
]
],
}
prismjs
进入我的_app.js
文件(因为我使用的是 Next.js,但使用 React,您可以将其导入我们的 app.js
文件:// ...
import 'prismjs'
// ...
prismjs
API 调用 .highlightAll()
所需页面上的方法:function usePrismHighlightAll() {
useEffect(() => {
Prism.highlightAll()
}, [])
}
export default function Page () {
usePrismHighlightAll()
// ...
}
作为旁注,
usePrismHighlightAll()
钩到你的
app.js
文件,以便您可以在所有页面中启用语法突出显示,如果这样可以避免您在多个位置调用钩子(Hook)。
/* DO NOT USE THIS CODE NEXT.JS AS IT DOES NOT WORK */
import 'prismjs'
// ...
function usePrismHighlightAll() {
useEffect(() => {
Prism.highlightAll()
}, [])
}
export default function App ({ Component, pageProps }) {
usePrismHighlightAll()
return (
<>
<Layout>
<Header />
<Component {...pageProps} />
</Layout>
</>
)
}
/* DO NOT USE THIS CODE NEXT.JS AS IT DOES NOT WORK */
所以,坚持我在步骤 1-3 中概述的过程。
关于reactjs - PrismJS 与 React : using babel-plugin-prismjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60564172/
我最近决定将 PrismJS 与 React 一起使用,为了避免重复导入,我设法使用这个 babel-plugin-prismjs 包来加载插件、语言等。 如插件文档中所示,我在根文件夹中创建了一个
我正在使用 Prismjs 进行语法高亮显示,我这样做的方式是使用 fetch 方法从 json 文件中获取数据,然后使用 js 动态渲染 html。问题是 Prismjs 在本地环境中完成它的工作而
我正在使用 https://prismjs.com突出显示我的代码,它工作得很好。 举个例子 $user->hasOne('App\Phone','user_id','id');
不知道有没有人遇到过这个。我正在使用 PrismJS 语法荧光笔来突出显示代码。应用程序是用 Reactjs 编写的,我想做的是在 WYSIWYG 编辑器中,当用户想要插入代码块时,我用 pre +
我想复制 Ghost 使用 prismjs 设计的精确代码块设计. 这是链接 - https://ghost.org/tutorials/code-snippets-in-ghost/ 最终结果必须类
我正在使用 Docsify 来提供有关我的项目的文档。 对于语法高亮,我想使用prism.js。可悲的是,突出显示部分不起作用。我也尝试了所有提到的建议 here . 在我的 index.html 我
prismjs.com是一种通过突出显示源代码在网站上显示源代码的方法,类似于 monokai 样式... 问题是插件水平显示我的代码。我希望我的代码是结构化的(易于阅读,在多行上)而不是连接在多行上
我正在尝试使用 PrismJS 突出显示一些 javascript 代码,但我输入的文本根本没有改变颜色。我已经尝试将 CDN 用于 prismjs 和 npm,但是当我使用 Prism.highli
我有一个页面布局,其中包含 flex 内容 div 和右侧固定宽度的列。为此,我有以下基本结构: Content here Fixed right column
我正在尝试使用 Napa 构建 SharePoint Online 应用程序以使用语法突出显示。我开始了一个新元素,并将 .js 和 .css 文件包含在 Default.aspx 网页中。当我尝试创
我正在尝试在我的 Angular 应用程序中使用 prismjs 这是我到目前为止得到的 app.directive('nagPrism', [function() { return {
我正在使用 prismjs用于在我的网络应用程序中突出显示代码,但永远不会启用 prismjs 框中用于长代码行的水平滚动条。这是因为我也在使用 twitter bootstrap 3(如果我删除 b
我正在使用 vue-prism-component ( https://www.npmjs.com/package/vue-prism-component ) 显示 Html 语法。现在我想添加一个按
我正在尝试在我的 Aurelia 应用程序(基于 typescript )中添加 PrismJS 作为语法高亮,我已经完成了一半,如下所示 1- 安装 prismjs yarn add prismjs
每当 textarea 字段更改时,我都想突出显示一些 json。 使用 language-json 我没有得到任何漂亮的着色,使用 language-js 我可以。不支持json吗? 最佳答案 您还
我使用 node.js 从代码生成静态 html 文件,并使用 prismjs 对其进行格式化。在我的应用程序中,我无法访问支持 Javascript 的 HTML 渲染器(我使用的是“htmllit
每当 textarea 字段更改时,我都想突出显示一些 json。 使用 language-json 我没有得到任何漂亮的着色,使用 language-js 我可以。不支持json吗? 最佳答案 您还
刚开始使用 Bulma前端框架,一切顺利,直到尝试使用 prismjs并开始与样式发生冲突,因为 prismjs 没有为它们的类名添加前缀。 主要问题在于: .number { ... } 和 .ta
我想添加 PrismJS。 https://prismjs.com/index.html 所以我跑了 yarn add prismjs 然后更新 application.js : import Pri
我正在使用 angular-cli 构建一个小应用程序,我想使用 PrismJS 但我无法让它工作。 基本上,我创建了一个vendor 文件夹,我将我的 Prism 脚本和样式放在其中,并将它们加载到
我是一名优秀的程序员,十分优秀!