This is Parcel 101 (or maybe 102) but as I make version 2 of a vanilla js app in React using Parcel, sometimes I forget how things work in this kind of bundled app... you can't just refer to external js libraries in a script tag, and you can't just load a sound file via URL.
The library in question is pizzicato.js, and I put a bunch of files in "src/wav/sound_##_##.wav" where the ##s are two digit numbers.
The lines of code then are:
import Pizzicato from './js/Pizzicato.min.js';
import bundledFiles from './wav/*.wav';
Using Pizzicato is then straight forward (new Pizzicato.Sound() or whatever).
The sound files are a little weirder, you get a js object where the keys are what was put in the wildcard, so sound_06_27 was the key used for the ./sound_06_27.c7ca9f08.wav which was a path I could pass to Pizzicato.
Mischnic's answer on this page was helpful in figuring out the syntax.
Oh, and luckily I remembered Parcel's weirdness in assuming it is serving from the root URL of a site, I overcame that with this line in package.json:
"scripts": {
"build-prod": "parcel build src/index.html --public-url ."
The "--public-url" makes it happy to go where it is put.
No comments:
Post a Comment