如何在本地 javascript 文件中使用 CDN

How to use CDN in local javascript file

我正在尝试使用 Tone.js 与 javascript 一起制作音乐。每当我尝试让它工作时,我都会收到错误消息 "tonetutorial.html:26 Uncaught TypeError: Tone.Player is not a constructor"。

我在 HTML 文件的顶部。我目前正在使用 Brackets 编写和预览我的代码。

这是我的javascript函数

function sequencer() {
const kick= new Tone.Player("Cartoon_Boing.mp3").toMaster();

const kickInputs = document.querySelectorAll(".kick");
}
sequencer();

这是HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js"></script>
<script src=tonetutorial.js></script>
<body>
    <h1>Music Maker</h1>
    <div class="drums">
        <div class="kick">
            <input type="Checkbox">
        </div>
    </div>
</body>

当我尝试 运行 时,我被告知 "Tone.Player" 不是构造函数。在这种情况下我可以不使用网络 cdn 吗?我必须将 .min 下载到我的桌​​面吗?

https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js不包括Player

库的 releases page 显示最新发布的版本是 13.4.9。

14.0.2 可能有问题。

使用 <script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js"></script> 解决了这个问题。

您使用的Tone.js版本好像太新了,还在开发中。 The official Tone.js documentation for player shows r13 in the URL, and the last commit to the master branch on the GitHub repo was on January 10th, which coincides with the January 9th release on GitHub, which is the latest release. Furthermore, searching through the code you linked to does not seem to contain Player anywhere, and the link to download on the GitHub repo 下载版本 13.4.9,其中确实包含 Player

相反,请考虑使用:

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js"></script>