Вам просто нужно включить, чтобы включить момент, используя синтаксис CommonJS, а не импорт. Попробуйте следующее:
let moment = require('moment');
Это потому, что момент не как модуль ES6 еще, и как таковой не будет работать с новой import
синтаксиса.
UPDATE:
Когда я думаю об этом, я только использовал этот подход в моих модульных тестов. Использование его в вашем приложении может работать не так, потому что в этом подходе используется узла, который не может использоваться на стороне клиента.
Однако при использовании Moment в ваших компонентах вы можете использовать angular2-moment. Полные инструкции по установке можно найти на странице GitHub, но использование выглядит следующим образом:
<div>today is {{ Date.now() | amDateFormat:'LL' }}</div>
Есть несколько других труб, которые можно использовать, которые все документированные на странице GitHub.
UPDATE 2:
По v2.10.0, Moment теперь поддерживает синтаксис ES6, так что вы должны быть в состоянии использовать любой синтаксис ES6 import
вместо require
.
На самом деле, я просто понял, что вы сделали то же самое, как мой ответ, и до сих пор получает эту ошибку. Если да, какова ваша версия 'webpack', которую вы используете? – choz
Шаги для добавления Moment.js в Angular-CLI https://medium.com/@jek.bao.choo/steps-to-add-moment-js-to-angular-cli-f9ab28e48bf0 –