node.js - 使用 'require' 时如何从库中加载 CSS

标签 node.js webview require electron sweetalert

我正在构建一个 electron应用程序。在其中,我有一个 webviewpreload script .在上述脚本中,我想使用 sweetalert .

我使用 npm install --save sweetalert 安装了 sweetalert。在我的脚本中,我使用 require('sweetalert') 加载它并使用 swal("Hello world!"); 调用它。我现在注意到它看起来不对,因为警报缺少它的 required CSS file .但是我用 require('sweetalert') 加载它,这很棒,因为 sweetalert 可以保留在 node_modules 的目录中,我不必关心它,但它的 CSS 是它不可或缺的一部分,并且不会以相同的方式被拉动。

现在,推荐的解决方法是什么?请记住,我在 javascript 文件中,并希望保持这种状态。我真的必须去获取 CSS 文件和 inject it吗?某种程度上来说?既然它在 node_modules 中,我该如何正确执行呢?测试后,由于 Content Security Policy,在这种特殊情况下似乎无法完成。 .

无论哪种方式,与 require 语句相比,这看起来都很笨拙,没有更简单的解决方案似乎很奇怪。

最佳答案

您必须像通常在浏览器中那样包含它,例如在 index.html 中。将它从模块文件夹中复制到您的 css 文件夹中(如果有的话),并使用 link 标签链接它。这取决于您使用的是普通 Electron 还是其他一些样板模板,并且有一个 gulp/grunt 工作流程可以将它粘贴到哪里,但仅此而已, Electron 只是一个运行 JS/html 的浏览器,所以它真的完全一样过程。 require 只加载 JS 模块而不加载样式。

如果您想动态包含它,您可以使用与常规浏览器相同的技术(例如 document.write/create 元素)。

关于node.js - 使用 'require' 时如何从库中加载 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833287/

相关文章:

node.js - “提供的关键元素与二级索引的架构不匹配”

javascript - Android:webview 中的 Javascript 返回图像上的点击位置?

java - webview 没有命中服务器套接字代理

Node.js 异步模块需要

javascript - NodeJS session

javascript - 将视频从 HTML5 流式传输到 node.js

javascript - 为什么我会收到 400 错误? Node 、Express、ReactJS

json - 移动浏览器上的 native JSON对象支持

Ruby Require 语句和文件位置

javascript - 是否可以在没有相对路径的情况下从项目目录外部请求模块?