【问题标题】:Problem using js file in typescript project. Angular CLI在 typescript 项目中使用 js 文件时出现问题。角 CLI
【发布时间】:2018-12-18 16:00:30
【问题描述】:

我发现了一个很棒的 github 项目,我希望在我的项目中使用它。我确定我会再次遇到这个问题。所以我真的希望我能在这方面得到帮助。该项目位于 URL:https://github.com/lokesh/color-thief。我正在尝试将 js 文件 color-thief.js 导入我的项目并在 TS 文件或组件中使用它。我将该文件添加到 angular.json 文件中的 scripts[] 中。然而,我在访问 getColor() 方法时仍然遇到问题。我正在使用 IntelliJ。我无法让智能感知或代码完成工作。这进一步让我觉得我没有正确导入文件。

这是我的 ts 文件。

declare var ColorThief: any;

js文件的路径是

'../../js/color-thief.js'

环境设置是一场噩梦。

【问题讨论】:

  • 使用 console.log(ColorThief) 查看是否正确导入。你的问题是智能感知而不是角度。
  • 说 ColorThief 没有定义。
  • 我只想重现 lokesh 在他的 github 上的 readme.md 文件中所做的事情:|

标签: typescript angular6 angular-cli


【解决方案1】:

确保在您的 angular.json 文件中,脚本属性设置如下。

"scripts": [
  "node_modules/[packageName]/js/color-thief.js",
],

记得在脚本中设置 node_modules ,并在定义全局变量时导入正确的 .js 文件。

据我所知,您需要根据 color-thief 包创建该对象。像这样。

 let colorThief = new ColorThief();

【讨论】:

  • 所以最初我只是安装了文件“color-thief.js”。这次我 npm 安装了 git 项目。并使用了你的建议。现在,当输入 console.log(ColorThief) 时,我得到 f(){}。所以它似乎有点工作?但是,现在我收到 getColor 未定义的错误。
  • 现在您可以正确导入了。我已经编辑了答案。看来您需要创建 ColorThief 对象
  • idk... 现在我收到此错误:ERROR TypeError: _js_color_thief_js__WEBPACK_IMPORTED_MODULE_8___default.a is not a constructor
  • 老实说,我确信有一个解决方案。但是,我切换到了一个不同的 git 项目,它有更好的自述文件并且似乎有更多的追随者。 stackoverflow.com/questions/50909276/… node-vibrant
  • 让我测试一下。
猜你喜欢
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-12-29
  • 2011-08-17
  • 1970-01-01
相关资源
最近更新 更多