内容传递网络或内容分发网络(CDN)是包含放置在网络的各个节点处的数据的副本的计算机系统。
为什么 CDN 链接适用于某些版本,但不适用于其他版本? NS_ERROR_CORRUPTED_CONTENT
我正在创建一个使用 Three.js 的网页。 如果我使用版本 128 中的所有 CDN 链接,我的页面加载正常: <question vote="1"> <p>我正在创建一个使用 Three.js 的网页。</p> <p>如果我使用版本 128 中的所有 CDN 链接,我的页面加载正常:</p> <pre><code><script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="25514d57404065150b14171d0b15">[email protected]</a>/examples/js/loaders/GLTFLoader.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="80f4e8f2e5e5c0b0aeb1b2b8aeb0">[email protected]</a>/examples/js/loaders/EXRLoader.js"></script> </code></pre> <p>但是我想为我的项目使用最新版本,根据 <a href="https://cdnjs.com/libraries/three.js" rel="nofollow noreferrer">cdnjs</a> 那是版本 172。</p> <img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvMTl0Y1pQMDMucG5n" width="560" alt="Screenshot of the cdnjs page for Three.js, which shows the more recent version as being 172"/> <p>切换到这个更新的版本(172)会导致一切崩溃:</p> <pre><code><script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r172/three.min.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="ea9e82988f8faadac4dbddd8c4da">[email protected]</a>/examples/js/loaders/GLTFLoader.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="add9c5dfc8c8ed9d839c9a9f839d">[email protected]</a>/examples/js/loaders/EXRLoader.js"></script> </code></pre> <p>我的浏览器控制台显示:</p> <pre><code>GET https://cdnjs.cloudflare.com/ajax/libs/three.js/r172/three.min.js NS_ERROR_CORRUPTED_CONTENT GET https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="daaeb2a8bfbf9aeaf4ebede8f4ea">[email protected]</a>/examples/js/loaders/GLTFLoader.js NS_ERROR_CORRUPTED_CONTENT GET https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="384c504a5d5d780816090f0a1608">[email protected]</a>/examples/js/loaders/EXRLoader.js NS_ERROR_CORRUPTED_CONTENT </code></pre> <p>自然地,接下来会出现更多由于无法读取脚本而导致的错误。</p> <p>显然我错过了关于哪些 CDN 资产可以使用、哪些不能使用,以及如何查找该信息和/或解决问题的不成文规则的备忘录。有人可以启发我吗?如何通过 CDN 成功使用当前(或至少最新)版本的 Three.js?</p> <hr/> <p>解决后编辑:</p> <p>顺便说一句,当导入像 EXRLoader.js 这样的加载器时,人们可能会发现安装 Three.js 并自己提供文件会更容易。然后使用 <pre><code>importmap</code></pre> 解析模块路径。</p> <p>或者,Node.js 的 Express 框架可用于提供文件并解析路径。或者,像 Vite、Webpack 或 Parcel 这样的捆绑器可以解决它们。</p> <p>这些工具超出了这个问题的范围,但与之相关。</p> </question> <answer tick="true" vote="2"> <p>如果您查看您的 URL,您会发现它与 CDN 可用 URL 的屏幕截图中的任何内容都不匹配。</p> <p>试试这个: <pre><code>https://cdnjs.cloudflare.com/ajax/libs/three.js/0.172.0/three.core.min.js</code></pre></p> <p>您是否通过 cloudflare 网站上的“复制”按钮获得了格式错误的 URL?如果这样做,您可能需要将其报告为错误,看起来他们更改了从版本号构建 URL 的方式。</p> <p>将来,您还可以通过将 URL 粘贴到浏览器中来检查脚本源。它应该以纯文本 javascript 形式打开。如果您使用您所使用的已损坏的 URL 执行此操作,您将看到它以 HTML 形式返回 404 页面。这会作为 <pre> 标签导入触发 </pre><code>NS_ERROR_CORRUPTED_CONTENT</code><script> 警告,因为 HTML 内容不是有效的 javascript 内容。</p> <p>编辑:我应该提到,实际的库文档始终是查看的好地方: <pre><code>https://threejs.org/docs/index.html#manual/en/introduction/Installation</code></pre>。</p> <p>从Three的CDN上的文件夹结构来看,如果unpkg如下,则应该是: <pre><code>https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="12667a60777752223c2325203c22">[email protected]</a>/examples/jsm/loaders/EXRLoader.js</code></pre></p> </answer> </body></html>
Three.js - 为什么 CDN 链接适用于某些版本,但不适用于其他版本? NS_ERROR_CORRUPTED_CONTENT
我正在创建一个使用 Three.js 的网页。 如果我使用版本 128 中的所有 CDN 链接,我的页面加载正常: <question vote="0"> <p>我正在创建一个使用 Three.js 的网页。</p> <p>如果我使用版本 128 中的所有 CDN 链接,我的页面加载正常:</p> <pre><code><script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="aedac6dccbcbee9e809f9c96809e">[email protected]</a>/examples/js/loaders/GLTFLoader.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="73071b01161633435d42414b5d43">[email protected]</a>/examples/js/loaders/EXRLoader.js"></script> </code></pre> <p>但是我想为我的项目使用最新版本,根据 <a href="https://cdnjs.com/libraries/three.js" rel="nofollow noreferrer">cdnjs</a> 那是版本 172。</p> <img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvMTl0Y1pQMDMucG5n" width="560" alt="Screenshot of the cdnjs page for Three.js, which shows the more recent version as being 172"/> <p>切换到这个更新的版本(172)会导致一切崩溃:</p> <pre><code><script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r172/three.min.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="5e2a362c3b3b1e6e706f696c706e">[email protected]</a>/examples/js/loaders/GLTFLoader.js"></script> <script src="https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="bbcfd3c9dedefb8b958a8c89958b">[email protected]</a>/examples/js/loaders/EXRLoader.js"></script> </code></pre> <p>我的浏览器控制台显示:</p> <pre><code>GET https://cdnjs.cloudflare.com/ajax/libs/three.js/r172/three.min.js NS_ERROR_CORRUPTED_CONTENT GET https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="13677b61767653233d2224213d23">[email protected]</a>/examples/js/loaders/GLTFLoader.js NS_ERROR_CORRUPTED_CONTENT GET https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="394d514b5c5c790917080e0b1709">[email protected]</a>/examples/js/loaders/EXRLoader.js NS_ERROR_CORRUPTED_CONTENT </code></pre> <p>自然地,接下来会出现更多由于无法读取脚本而导致的错误。</p> <p>显然我错过了关于哪些 CDN 资产可以使用、哪些不能使用,以及如何查找该信息和/或解决问题的不成文规则的备忘录。有人可以启发我吗?如何通过 CDN 成功使用当前(或至少最新)版本的 Three.js?</p> </question> <answer tick="false" vote="0"> <p>如果您查看您的 URL,您会发现它与 CDN 可用 URL 的屏幕截图中的任何内容都不匹配。</p> <p>试试这个: <pre><code>https://cdnjs.cloudflare.com/ajax/libs/three.js/0.172.0/three.core.min.js</code></pre></p> <p>您是否通过 cloudflare 网站上的“复制”按钮获得了格式错误的 URL?如果这样做,您可能需要将其报告为错误,看起来他们更改了从版本号构建 URL 的方式。</p> <p>将来,您还可以通过将 URL 粘贴到浏览器中来检查脚本源。它应该以纯文本 javascript 形式打开。如果您使用的 URL 格式错误,则会在浏览器中触发 <pre><code>NS_ERROR_CORRUPTED_CONTENT</code></pre> 警告,因为 CDN 实际上以 HTML 形式返回 404 页面,而这<em>不是</em>有效的 Javascript。</p> </answer> </body></html>
如何通过 API 从 CDN URL 上传视频作为 Facebook Reel,而不需要下载到本地?
我正在开发一个 Python 脚本,该脚本使用 Facebook Graph API 将视频作为 Reels 直接上传到 Facebook 页面。我的视频托管在 CDN 上,我想将它们直接上传到 Face...
我知道有一个模块,但我想通过其 CDN 在我的 Angular 应用程序中使用 Swiper js。 我已将脚本包含在我的index.html 的head 中。 然后在我想使用的组件中...
如何使我的 Express 服务器上的 Google Cloud CDN 缓存失效?
有没有办法从我的 Express 服务器上使 Cloud CDN 上的缓存内容失效/清除? 例如,如果我正在生成服务器渲染的内容以使其随时可用,并且我更新了特定的...
请我尝试使用外部 CDN 运行 React 应用程序,并且 html 文件出现问题: 未捕获的引用错误:require 未定义index.html:3 这是html代码: 请我尝试使用外部 CDN 运行 React 应用程序,并且在 html 文件上遇到问题: 未捕获的ReferenceError:require未定义index.html:3 这是html代码: <!DOCTYPE html> <html> <head> <meta charset='UTF-8'> <link rel="stylesheet" href="styles/style.css"> <script src='https://unpkg.com/[email protected]/umd/react.production.min.js'></script> <script src='https://unpkg.com/[email protected]/umd/react-dom.production.min.js'></script> <script src='https://unpkg.com/[email protected]/umd/react-router-dom.min.js'></script> <script src='https://unpkg.com/[email protected]/babel.js'></script> </head> <body> <div id='root'></div> <script type='text/babel'> import Todo from 'component/Todo.js'; const App = () =>( <div> <h1>My Todos</h1> <Todo /> </div> ) ReactDOM.render(<App />, document.querySelector('#root')); </script> </body> </html> 这是 JavaScript 代码 function Todo (){ return (<div className="card"> <h2>TITLE</h2> <div className="actions"> <button className="btn">Delete</button> </div> </div>); } export default Todo; 您可以像这样从另一台服务器导入外部脚本: componentDidMount() { const script = document.createElement("script"); script.src = "/static/libs/your_script.js"; script.async = true; script.onload = () => this.scriptLoaded(); document.body.appendChild(script); } 然后确保您的文件已加载: scriptLoaded() { // your stuff to do! } 另一种方法是使用react Helmet: 首先使用以下命令安装它: npm install --save react-helmet 然后像这样使用它 <Helmet> <script src="www.test.ts" /> </Helmet> 请注意,这样您的脚本将加载到 <head> 在您的index.html 文件中添加 Office.js 脚本引用: <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script> 在 React 应用程序中初始化 Office.js 库。您可以在index.js 文件中执行此操作: const Office = window.Office; Office.initialize = () => { ReactDOM.render( <YourComponent />, document.getElementById('root') ); };
我应该与 CloudFlare 共享我网站的 SSL 私钥才能使用其 CDN 服务吗?
假设我已经托管了一个 https 网站。 SSL 证书是从 Let's Encrypt 等机构获取的。 如果我想使用 CloudFlare 的 CDN 服务,我应该与其共享我的 SSL 私钥吗?对于e...
我想在node js项目中使用socket.io-client cdn 有时我会使用不同的套接字 io 版本连接到不同的套接字服务器。所以我需要使用 socket io cli 来处理它...
我们在查看者请求时使用的所有相关行为(大多数请求)中使用 lambda(所有行为均禁用缓存)。 我们一直在检查 lambda 在 Black Frid 期间的表现...
有一个像 cdnjsAPI 一样在 unpkg 中搜索包/库的 api 吗?
请原谅这是一个愚蠢的问题,我正在尝试制作一个 Javascript 代码编辑器 React 应用程序,并且我遇到了需要将外部 javascript 库添加为编辑器的依赖项(不适用于 t...
我将 cdn 添加到 next.js head 部分,但它不起作用。 从“next/head”导入头; 我将 cdn 添加到 next.js 头部,但它不起作用。 import Head from "next/head"; <Head> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" ></link> </Head>; 我尝试渲染这个简单的图标,但它没有显示任何图标。它只是简单地显示字符串“add” <i className="material-icons">add</i> 我遇到了同样的问题,以下方法对我有用: 将 Google Material Icon CSS 添加到 globals.css 文件而不是 xxxx.module.css。我这样做后,图标名称起作用了 我发现的解决方法是使用代码点而不是图标名称: <Head> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" /> </Head> <span className="material-icons"></span> 我通过禁用字体优化解决了这个问题:https://nextjs.org/docs/basic-features/font-optimization 这对我有用 // global.scss @import 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,1,0'; 我遇到了同样的问题,并使用普通的 head 标签修复了它,而不是从 "next/head" 导入它 <head> <link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp" rel="stylesheet" /> </head>
Three.js 项目:未捕获类型错误:无法解析模块说明符“三”。相对引用必须以“/”、“./”或“../”开头
我正在尝试使用 cdn 导入三个库以及几个附加组件和 N8AO。如标题所述,我遇到了列出的错误: 未捕获的类型错误:无法解析模块
过去 24 小时我一直遇到问题,我的项目(Laravel 11/ Backpack 6)无法从 CDN 获取 css。我在本地开发机器和我的在线登台服务中都注意到了这个问题...
我目前尝试找出并比较在 next.js 上构建和运行应用程序的两种方法的优缺点: 自定义服务器(我的项目中当前使用的方法)
如何上传到cdnjs?我对 git 毫无头绪,也没有经验。 我有一个文件想要上传到 cdnjs。我需要下载一些东西吗? 有人可以指导我完成我必须做的事情吗?
注意! 在此拉取请求合并后,Bootstrap 图标又回来了。 经过过去几周的反复思考,我决定恢复 Glyphicons 图标......
如何为1080X1080像素的个人资料图片生成Instagram CDN URL
我正在尝试下载 1080X1080 像素的 Instagram 个人资料图片。 InstaFinsta 也在做同样的事情,但我不知道他们是如何生成这个 Instagram CDN 链接的。 我已经尝试过以下...
您无权查看此对象,Django + Cloudflare R2
我尝试使用 CloudFlare R2 来服务器我的 django 项目中的静态文件,但我有“无法查看此对象”。 我添加了自定义域,并允许公共查看。我无法理解...
我想在我的一个项目中使用pdf.js,但我遇到了导入它的问题,基本上,CDN 不起作用 这是我的代码 我想在我的一个项目中使用 pdf.js,但我遇到了导入它的问题,基本上,CDN 不起作用 这是我的代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/build/pdf.min.js"></script> </head> <body> <canvas id="my-canvas"></canvas> <script> pdfjsLib.getDocument('./ahmed.pdf').then(doc => { console.log("this file has" + doc._pdfInfo.numPages); }); </script> </body> </html> 这就是我的控制台显示的错误 已弃用的 API 用法:未指定“GlobalWorkerOptions.workerSrc”。 未捕获类型错误:pdfjsLib.getDocument(...).then 不是函数 那么我应该怎么做才能解决这个问题,非常感谢 您必须将GlobalWorkerOptions.workerSrc设置为相同版本的/build/pdf.worker(.min).js: pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdn.jsdelivr.net/npm/[email protected]/build/pdf.worker.min.js"; 👈 pdfjsLib.getDocument('./ahmed.pdf').promise.then(doc => { console.log(`This document has ${doc._pdfInfo.numPages} pages."); }); 而且,正如@Pasi提到的,你必须通过链接.getDocument()来承诺.promise。没有它,就没有.then()。 请参阅本页上的“带有文档加载错误处理的 Hello World”示例以开始使用:https://mozilla.github.io/pdf.js/examples/ (在 .promise 并设置 getDocument() 属性之后,您的代码片段丢失了 workerSrc) 从https://www.npmjs.com/package/react-pdf检查此方法 pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;
Razorpay 类型错误:this[("on" + t)] 不是函数
我正在使用以下方法将 Razorpay 集成到我的 React 应用程序中 在`index.html`中。 它工作得很好,但现在我得到了。 未捕获的运行时错误: 错误 脚本错误。 在处理错误(http://