作为 ES6 模块导入时,无法在 angular 应用程序中使用 DOMPurify.sanitize

Not able to use DOMPurify.sanitize in angular application, when imported as an ES6 module

提问人:coding life 提问时间:6/26/2023 更新时间:6/26/2023 访问量:341

问:

我正在尝试在我的 angular 应用程序中使用 dompurify,在服务中。我将其导入为

import * as DOMPurify from 'dompurify';

当作为 CSR 应用程序正常运行时,这工作正常。但是如果我将它作为 SSR 运行,我会得到

export 'sanitize' (导入为 'DOMPurify') 在 “dompurify”(可能的导出:默认)

我正在使用 dompurify v3.0.3。另一方面,如果我使用

const DOMPurify = require('dompurify')

它工作没有错误。但我不确定这是否是使用它的正确方法,因为 angular 建议使用 ES6 导入。

JavaScript Angular 服务器端渲染 Dompurify

评论

0赞 Adam Jenkins 6/26/2023
npmjs.com/package/isomorphic-dompurify
0赞 coding life 6/26/2023
@AdamJenkins 我实际上已经尝试过了,但是当我使用 isomorphic-dompurify 时,我得到未处理的 Promise 拒绝:在节点 16.19.1 中编译时,无法将 undefined 或 null 转换为对象
0赞 Adam Jenkins 6/26/2023
这个错误从何而来?我在 SSR 应用程序上遇到了同样的问题,同构 dompurify 为我解决了它
0赞 coding life 6/26/2023
@AdamJenkins dist/server 内的 vendor.js 文件中出现错误。您使用的是哪个版本的 Isomorphic-Dompurify 和 NodeJS?
0赞 kemsky 6/29/2023
查看 github.com/cure53/DOMPurify#running-dompurify-on-the-server

答: 暂无答案