首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义Javascript文件并以角形式导入

使用自定义Javascript文件并以角形式导入
EN

Stack Overflow用户
提问于 2022-02-14 09:46:27
回答 2查看 520关注 0票数 1

我使用的是角12,我想在我的ts组件中使用自定义的JavaScript文件。为了实现这一目的,我理解我需要将custom.js文件添加到angular.json中的“脚本”部分,并在我的ts组件中声明如下:

我的custom.js文件

代码语言:javascript
复制
function test() {
      alert("Hello!");

}

在app.component.ts中

代码语言:javascript
复制
import { Component, OnInit } from "@angular/core";
import { Subject, Observable } from "rxjs";
declare function test(): void;

@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"],
})
export class AppComponent implements OnInit {
....
...
test();

在angular.json文件中,我向custom.js添加了路径

代码语言:javascript
复制
.....
   "scripts": [
              "src/assets/js/custom.js"]
.....

这很好,当de app被服务时,警报信息被正确地显示出来。

假设现在我想在我的custom.js文件中使用Javascript库,例如"sharp":

代码语言:javascript
复制
import {sharp} from "sharp";

function test() {
  alert("Hello!");
  const image = sharp("file.jpg");
}

现在,当我通过"ng s“提供应用程序时,我可以在浏览器的控制台中看到以下错误:

代码语言:javascript
复制
Cannot use import statement outside a module

当然,这指向我的custom.js文件的“从”sharp“行导入{sharp}”。

我一直试图:

problem.

  • install
  • 在package.json中添加了“type”:“
  • ”,但是它没有通过"npm i--保存@
  • / sharp“来解决package.json的尖锐依赖,但是没有帮助。
  • 在custom.js文件中添加了一个"module.exoprts”,但这也没有帮助。

我的问题是:

在我的角度项目中,我应该在哪里以及如何声明为了让我的custom.js工作而需要/使用sharp库?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-02-14 09:58:45

要将另一个js文件导入另一个js,sharp.js应该导出函数sharp()test.js应该import { sharp } from './main.js';。然后测试可以使用sharp(),而您的Angulr项目只使用声明的函数test()https://www.tutorialrepublic.com/faq/how-to-include-a-javascript-file-in-another-javascript-file.php

票数 0
EN

Stack Overflow用户

发布于 2022-02-14 09:59:56

首先,导出函数test.

代码语言:javascript
复制
export function test() {
  alert('custom js');
}

将其导入您的app.component中。

代码语言:javascript
复制
import {Component} from '@angular/core';
import * as yourlib from 'src/custom.js';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

 constructor(){
   yourlib.test();
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71109812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档