Angular 中的 PhysiJS 404 错误
404 Error with PhysiJS in Angular
我正在尝试获取 Physijs 运行 Angular。三个场景到目前为止工作正常,但我没有得到任何物理效果。
我用 npm 安装了以下内容:
https://www.npmjs.com/package/physijs-browserify
我对应的 Component.ts 初始化 Physijs 的部分如下所示:
declare function require(name: string);
declare var THREE: any;
const Physijs = require('physijs-browserify')(THREE);
Physijs.scripts.worker = '/libs/physi-worker.js';
Physijs.scripts.ammo = '/libs/ammo.js';
我总是在 Chrome 控制台中收到以下错误。:
physi.js:393 GET http://localhost:4200/libs/physi-worker.js 404(未找到)
我也尝试了 node_modules 的完整路径,但都不起作用:
Physijs.scripts.worker = "../testproject/node_modules/physijs-browserify/libs/physi-worker.js"
第 393 行的 physi.js 文件如下所示:
this._worker = new Worker( Physijs.scripts.worker || 'physi-worker.js' );
我什至尝试在 .angular-cli.json 中添加脚本,但也没有任何效果:
"scripts": [
"../node_modules/physijs-browserify/libs/physi-worker.js"
]
我在声明 physi-worker.js 的路径时做错了什么吗?或者还有其他问题吗?我是 Angular 和 JavaScript 的新手,所以这可能是一个明显的问题。
非常感谢你的帮助。
问候
如果文件未在 .angular-cli.json 中定义为资产,或者它们位于资产文件夹中,则这些文件不可用。
所以你有两种可能:
将文件放入 assets 文件夹,然后您的代码应该如下所示:
Physijs.scripts.worker = 'assets/physi-worker.js';
Physijs.scripts.ammo = 'assets/ammo.js';
将托管文件的文件夹添加到 cli 中的资产配置中:
"assets": [
"assets",
"favicon.ico"
"./node_modules/physijs-browserify/libs"
],
我更喜欢第一个选项。
我正在尝试获取 Physijs 运行 Angular。三个场景到目前为止工作正常,但我没有得到任何物理效果。
我用 npm 安装了以下内容:
https://www.npmjs.com/package/physijs-browserify
我对应的 Component.ts 初始化 Physijs 的部分如下所示:
declare function require(name: string);
declare var THREE: any;
const Physijs = require('physijs-browserify')(THREE);
Physijs.scripts.worker = '/libs/physi-worker.js';
Physijs.scripts.ammo = '/libs/ammo.js';
我总是在 Chrome 控制台中收到以下错误。:
physi.js:393 GET http://localhost:4200/libs/physi-worker.js 404(未找到)
我也尝试了 node_modules 的完整路径,但都不起作用:
Physijs.scripts.worker = "../testproject/node_modules/physijs-browserify/libs/physi-worker.js"
第 393 行的 physi.js 文件如下所示:
this._worker = new Worker( Physijs.scripts.worker || 'physi-worker.js' );
我什至尝试在 .angular-cli.json 中添加脚本,但也没有任何效果:
"scripts": [
"../node_modules/physijs-browserify/libs/physi-worker.js"
]
我在声明 physi-worker.js 的路径时做错了什么吗?或者还有其他问题吗?我是 Angular 和 JavaScript 的新手,所以这可能是一个明显的问题。
非常感谢你的帮助。
问候
如果文件未在 .angular-cli.json 中定义为资产,或者它们位于资产文件夹中,则这些文件不可用。
所以你有两种可能:
将文件放入 assets 文件夹,然后您的代码应该如下所示:
Physijs.scripts.worker = 'assets/physi-worker.js'; Physijs.scripts.ammo = 'assets/ammo.js';
将托管文件的文件夹添加到 cli 中的资产配置中:
"assets": [ "assets", "favicon.ico" "./node_modules/physijs-browserify/libs" ],
我更喜欢第一个选项。