Я изо всех сил пытаюсь использовать библиотеку moment.js внутри приложения Angular 2 Typcript. Даже после прочтения ответа на вопрос this question я не могу заставить его работать.Использование moment.js в приложении Angular 2 typescript
Это то, что я сделал до сих пор:
- Я установил moment.js используя НПМ, так что я могу найти библиотеку под node_modules/момент/moment.js
Я настроил System.js к получить момент библиотека:
System.config({ packages: { app: { format: 'register', defaultExtension: 'js' }, moment: { main: 'moment.js', type: 'cjs', defaultExtension: 'js' } }, map: { moment: 'node_modules/moment' } });
- я установил машинопись типизации с
typings install moment-node --ambient --save
иtypings install moment --ambient --save
, так что я могу видеть правильные типизации внутри типизации/основной/окружающей среды/момент-узла и типизации/основной/окружающей среды/мама лор
Теперь, если в моем коде я использую import * as moment from 'moment';
машинопись компиляции работать гладко, и я могу видеть правильное предложение внутри редактора Atom (если я начну с moment().
я могу видеть год(), месяц() и т.д.) , Однако, если я запустил свой код внутри браузера, он дает ошибку, говоря, что «момент не является функцией» (отладка я вижу, что момент - это объект с большим количеством методов).
Если я пишу import moment from 'moment';
, код в браузере отлично работает, однако компиляция машинописных текстов не выполняется, поскольку «момент модуля не имеет экспорта по умолчанию», и я не могу получить какое-либо предложение от Atom при написании кода.
Что я делаю неправильно? Каким образом можно импортировать файл moment.js (и любую библиотеку без машинописных шрифтов) внутри приложения с угловым 2-ти машинописным текстом?
Try импортный момент с 'момента'; – Bazinga
Спасибо за ваш ответ! Однако, как я уже сказал в своем ответе, я пишу «момент импорта из« момента »,« компиляция с машинописными текстами терпит неудачу, и я не могу получить какое-либо предложение из моей IDE при использовании момента(). – DanyUP