#javascript #angular #typescript
#javascript #angular #typescript
Вопрос:
У меня есть несколько методов utils внутри файла utils.ts, которые необходимо повторно использовать несколькими компонентами. Я не уверен, возможно ли это, и если да, то куда поместить импорт и каков синтаксис, если таковой имеется. Я пробовал index.html файл:
<script src="assets/ts/utils.js?v=1.2"></script>
И получение ошибки:
http://localhost:4200/assets/ts/utils.js?v=1.2 net::ERR_ABORTED 404 (Not Found)
Должен ли я импортировать в каждый компонент отдельно, и если да, то каков синтаксис?
Спасибо.
Комментарии:
1. Вы не должны импортировать свой js, вы должны импортировать свои ts в компонент, и webpack сделает свое дело
2.
I have some utils methods inside a utils.ts
но вы импортируете JS-файл. В чем там дело на самом деле?
Ответ №1:
Во-первых, вы пытаетесь импортировать файл .js, а не ts. Ошибка 404 заключается в том, что вы не находите файл, который вы указываете по указанному пути.
Я рекомендую вам проверить путь и имя файла, чтобы они были точно такими же. Можете ли вы также попробовать удалить ? V = 1.2
.
Если вы действительно хотите добавить .ts
файл в свой проект, импорт должен выполняться через app.component.ts
, а не с помощью импорта в Index.html
Комментарии:
1. Я добавил импорт в app.component.ts import ‘../assets/ts/ utils.ts’; Я не получаю никакой ошибки от импорта. Но я получаю сообщение об ошибке, что метод внутри файла ts является RROR ReferenceError: digitGrouping не определен
2. Можете ли вы показать мне, как вы импортируете библиотеку в компонент, как создаются экземпляры и как вы это вызываете? Ошибка может заключаться в том, что экземпляр, который вы создаете в компоненте, неверен, и поэтому объект, который вы создаете для вызова вашей библиотеки, не определен
3. Я смог решить эту проблему путем импорта в каждый нужный мне компонент утилиты ts, это import: import { Utils} from ‘../ .. / ../assets /ts / utils’; Я предпочитаю делать это в одном месте, но хорошего варианта нет, я согласен с таким подходом.