Webpack Physijs网页包库因需要而失败
在web应用程序中,我已经用“require”声明了一些包,并且webpack可以理解这些包:Webpack Physijs网页包库因需要而失败,webpack,physijs,Webpack,Physijs,在web应用程序中,我已经用“require”声明了一些包,并且webpack可以理解这些包: 三 三轨道控制 我就是这样使用它的: var THREE = require('three'); var OrbitControls = require('three-orbit-controls')(THREE); 要添加物理,我尝试添加library physijs网页: var PhysiJS = require('physijs-webpack')(THREE); 在“npm运行构建
- 三
- 三轨道控制
var THREE = require('three');
var OrbitControls = require('three-orbit-controls')(THREE);
要添加物理,我尝试添加library physijs网页:
var PhysiJS = require('physijs-webpack')(THREE);
在“npm运行构建”时失败,说明:
未找到模块:错误:无法解析“physijs网页包”
在控制台(Chrome开发工具)中显示以下错误:
"app.js:17 Uncaught Error: Cannot find module "physijs-webpack"
at webpackMissingModule (app.js:17)
at Object.defineProperty.value (app.js:17)
at __webpack_require__ (bootstrap 460ca68f8e6f1e90ea58:19)
at Object.<anonymous> (html5-entities.js:190)
at __webpack_require__ (bootstrap 460ca68f8e6f1e90ea58:19)
at module.exports.ctor.super_ (bootstrap 460ca68f8e6f1e90ea58:62)"
依赖项包括:
"devDependencies": {
"script-loader": "^0.7.0",
"webpack": "^3.5.4",
"webpack-dev-server": "^2.7.1",
"yarn": "^0.27.5"
},
"dependencies": {
"physijs": "^0.0.4",
"physijs-webpack": "^0.0.2",
"requirejs": "^2.3.4",
"three": "^0.86.0",
"three-orbit-controls": "^82.1.0"
}
}
请您推荐一下,我做错了什么?我遇到了这个问题,并按照找到的网页详细信息解决了这个问题@ 基本上
npm install -S agilgur5/physijs-webpack
及
我还必须更新我的网页配置
// webpack.config.js
{
module: {
rules: [
{
test: /\.worker\.js$/,
use: { loader: 'worker-loader' }
}
]
}
}
参考资料:
- tl;dr-您使用的是其他人发布的已损坏的版本。使用
v0.1.0
或更高版本,阅读以下说明:
大家好,我是世界的创造者 根据an的说法,我的港口一直在进行中,直到2018年9月,我决定再次试一试。其他人在没有告诉我的情况下发布了我的回购协议,其中NPM的构建已损坏,因此您最初在NPM上找到的包已损坏 2018年9月,我改写了回购协议的大部分内容,并设法找到了使其生效的方法。当时,我要求人们通过
agilgur5/physijs webpack
安装,因为我无法控制NPM包。那个月晚些时候,我被授予了软件包的控制权,现在我发布了一个v0.1.0和v0.1.1版本,这两个版本都有一个成功的工作版本。现在,您可以通过physijs webpack
进行安装,并按照软件包或repo的说明进行操作——也就是说,也可以将worker loader
安装为devDependency
旧的、不工作的NPM版本(v0.0.2)也将很快取消发布,以避免类似的混淆
在您的网页包配置中: 这里的另一个答案是更新你的网页配置,但这是不正确的(甚至没有
.worker.js
扩展名)physijs webpack
实际上专门有意地使用了,这样您就不必更新您的webpack配置
在
physijs
NPM包上:
我还注意到您的包中有physijs
——该NPM包是由同一个人创建的,是physijs网页包的副本。它于2018年9月未出版,同时我被授予了physijs网页包的所有权
在三个集成上:
我注意到的另一件事是three
在您的package.json
中。虽然这对于早期的非工作版本是必需的,但在当前的工作版本中,它现在是一个对等依赖项
。您不再需要将THREE
作为参数传递,但仍然需要安装它,因为大多数PhysiJS的使用都要求您使用THREE。它也被固定在三个版本的r73
上,因为这是PhysiJS支持/兼容的最后一个版本。您好,根据我的回答,您不需要更新您的网页配置physijs webpack
实际上使用了一个内嵌加载程序来实现这一目的:因此用户无需更改其配置。此外,库中的worker文件甚至没有扩展名.worker.js
,因此您编写的规则甚至不会应用于它(因此对它的工作没有影响)。谢谢你在我有机会看到它之前回答了这个问题!
npm install -D worker-loader
// webpack.config.js
{
module: {
rules: [
{
test: /\.worker\.js$/,
use: { loader: 'worker-loader' }
}
]
}
}