javascript - 包含 require() 语句的外部 JavaScript 库无法加载到 Angular 8 应用程序中
问题描述
我在我的 Angular 8 应用程序中使用了一个外部 javascript 库,首先包含一个 require 语句。
require('dependency')
但是,我在angular.json脚本部分中包含了依赖项和其他库。
问题是 require-method 没有被调用或未知:
someLibrary.js:1 Uncaught ReferenceError: require is not defined
那么如何在 Angular.js 的上下文中解决这个问题。
这也是我的编译器选项:
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "commonjs", // <-- value: "es2015" also not solves the issue
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"]
}
有谁知道如何解决这一问题?这是否与这里有关:https ://stackoverflow.com/a/950146/4457758
解决方案
我通过在我想要加载到浏览器中的 JS 文件上使用browserify解决了这个问题。请务必使用 --s 命令,以便您可以全局公开您的 js,以便您的 Angular 应用程序可以与其交互。
例如,您可能会执行以下操作:
browserify dependency.js --s myDependency
推荐阅读
- php - PHP cURL - 如何发送请求正文?
- python - Django:从 mixin 引用继承的属性
- python - 你如何让python使用字符串的字母顺序作为字典的一部分,其中每个唯一字母出现的次数的值
- javascript - 迭代数组时,将类添加到所有匹配值(Typescript)
- python - ValueError:格式错误的节点或字符串
- python - Sklearn set_config 出错
- angular - 带有 mergeMap 的角度异步管道
- sql - 我应该如何在一个表中加入一个字段,该字段已在另一个表中用作 2 个不同字段中的 FK
- compiler-errors - 如何在野牛代码中修复此错误?
- apache-spark - PySpark - 将另一列的值作为 spark 函数的参数传递