node.js - 在 Node.js 项目中包含 Quill 的问题
问题描述
我正在使用 Node.js 和 Express.js 开发一个项目。
我需要使用Quill,我正在尝试从我的node_modules文件夹中包含它。(由于 nginx 的内容安全策略问题,无法从CDN获取)。
所以,我做了什么:
//index.js
app.use(
express.static(path.join(__dirname, "..", "..", "node_modules", "quill"))
);
和
//page.ejs
<script type="module" src="/quill.js"></script>
到目前为止,它可以工作,因为它在 DOM 中成功包含node_modules/quill/quill.js ,但是它显示node_modules/ quill 文件夹中的所有其他文件的 404 错误,这些文件是从node_modules/quill/quill.js文件导入的。
例如,这些导入:
//node_modules/quill/quill.js
import Quill from './core';
import { AlignClass, AlignStyle } from './formats/align';
import { DirectionAttribute, DirectionClass, DirectionStyle } from './formats/direction';
import { IndentClass as Indent } from './formats/indent';
import Blockquote from './formats/blockquote';
import Header from './formats/header';
import List, { ListItem } from './formats/list';
import { BackgroundClass, BackgroundStyle } from './formats/background';
import { ColorClass, ColorStyle } from './formats/color';
import { FontClass, FontStyle } from './formats/font';
在浏览器控制台中导致这些错误:
加载资源失败:服务器响应状态为 404(未找到)/formats/align:1
加载资源失败:服务器响应状态为 404(未找到)/formats/direction:1
加载资源失败:服务器响应状态为 404(未找到)/formats/indent:1
加载资源失败:服务器响应状态为 404(未找到)/formats/blockquote:1
加载资源失败:服务器响应状态为 404(未找到)/formats/background:1
加载资源失败:服务器响应状态为 404(未找到)/formats/list:1
加载资源失败:服务器响应状态为 404(未找到)/formats/color:1
...
..
加载资源失败:服务器响应状态为 404 /formats/header:1
我究竟做错了什么?
我愿意接受有关如何包含此库(包括来自他们的 CDN)的任何更改/建议。
谢谢
解决方案
你可以试试这个方法。只需将 froala 替换为 quill 即可。
app.use('/froalacss',express.static(__dirname+'/node_modules/froala- editor/css/froala_editor.pkgd.min.css'));
app.use('/froalajs',express.static(__dirname+'/node_modules/froala- editor/js/froala_editor.pkgd.min.js'));
推荐阅读
- c# - android中的TextInputEditText没有获得焦点
- azure-data-explorer - 如何在 Kusto 函数中使用控制命令
- api - 如何使用客户电话号码将 whatsapp api 链接添加到电子邮件订单?
- java - Lightcouch 如何检查设计文档是否存在?
- python - Pandas groupby 重新采样性能不佳
- c# - PDF 到 Tiff 图像转换使用 Spire.PDF 获取异常
- laravel - 防止特定路线的脚本加载[Laravel]
- c++ - 外部“C”的 DRY 原则,例如 #pragma once
- mapstruct - Mapstruct 没有为我的映射器接口之一生成实现。有没有办法知道原因?
- c# - 如何连接 Jetson TX2 和树莓派 3?