如何在 React 中创建 Worker

mmc*_*ean 2 worker reactjs

我正在尝试使用react 16.8.6和yarn 1.16.0在从create-react-app创建的应用程序中创建一个worker。如果我使用 const backgroundWorker = new Worker('../assets/js/myWorker.js');

我收到控制台错误:Uncaught SyntaxError: Unexpected token <

但我知道这是正确的道路。这在 Angular 中工作得很好。有关于如何在 React 中创建工作线程的好的教程吗?

Ale*_*sky 7

目录“assets”是 @angular/cli 项目的公共目录,而不是 create-react-app 项目。在 create-react-app 中,@angular/cli“资产”的等效项是“public”,这在 create-react-app 文档中使用公共文件夹下进行了描述。将“js”目录和“myWorker.js”文件移至公共目录,并更新工作线程的创建以指向该路径:

const backgroundWorker = new Worker('/js/myWorker.js');
Run Code Online (Sandbox Code Playgroud)

您也可以使用process.env.PUBLIC_URL

const backgroundWorker = new Worker(`${process.env.PUBLIC_URL}/js/myWorker.js`);
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!