我想在我的Angular应用程序中使用opusscript。
启动应用程序时出现以下错误
ERROR in ./node_modules/opusscript/build/opusscript_native_wasm.js
Module not found: Error: Can't resolve 'fs' in 'D:\DriveCode\UserPortal\node_modules\opusscript\build'
ERROR in ./node_modules/opusscript/build/opusscript_native_nasm.js
Module not found: Error: Can't resolve 'fs' in 'D:\DriveCode\UserPortal\node_modules\opusscript\build'
ERROR in ./node_modules/opusscript/build/opusscript_native_wasm.js
Module not found: Error: Can't resolve 'path' in 'D:\DriveCode\UserPortal\node_modules\opusscript\build'
ERROR in ./node_modules/opusscript/build/opusscript_native_nasm.js
Module not found: Error: Can't resolve 'path' in 'D:\DriveCode\UserPortal\node_modules\opusscript\build'
我以前执行过以下命令:
npm i opusscript
npm i @types/node
在组件ts中,我导入为:
import OpusScript = require('opusscript');
我的tsconfig.json是:
{
"compileOnSave": false,
"preserveWhitespaces": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"downlevelIteration": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
我的tsconfig.app.json是:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"baseUrl": "./",
"module": "commonjs",
"types": ["node"]
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
opusscript库中的index.d.ts具有:
class OpusScript {
...
}
export = OpusScript;
我在这里错过了什么?
答案 0 :(得分:0)
这是一个node.js库,不能被Angular或任何其他Web框架使用。
您最好的选择是使用node.js服务器上的库并通过API公开它。基本上,Angular在浏览器中运行,而不是在服务器(在一台机器上)中运行。因此,无法访问文件系统,而节点js应用程序可以访问该文件系统。
运行oppusscript所需的节点模块是this: FS module。通过导入fs模块也无法使用opusscript js库,因为出于安全原因,您将无法从浏览器访问文件。 (js是孤立的,无法访问文件系统或执行应用程序。)