如何使用npm在ES6中导入moment.js

How to import moment.js in ES6 using npm?

本文关键字:导入 moment js ES6 何使用 npm      更新时间:2024-02-28

我正在使用angular js和nodejs以及ES6。我想导入angular js代码中的moment.js。我做了'npm install moment --save'

现在我可以在节点模块内的moment文件夹中看到moment.js文件。

在我的app.js文件中,我有这样的

'import moment from 'moment';

但如果搜索日期范围内的内容,它会在控制台中显示错误。有人能帮我怎么做吗。。?

目前,要使用ES6模块语法,您需要使用一个transiler,例如Babel,因为node.js和大多数浏览器还不支持ES6模块的语法。

Babel和webpack非常适合这个。这里有一个很好的例子:

一旦您正确配置了它,您就可以调用这样的时刻:

import moment from 'moment';
console.log(moment.now());

由于版本2.10.0时刻是用ES6:编写的

import moment from './node_modules/moment/src/moment';
// Note the 'src/' to import the ES6 version and not the CJS build

然而,目前似乎无法只导入函数的子集,您必须导入整个函数。

对我有用的选项是:

import * as moment from 'moment';

您编写的代码不起作用。这不是

//wont work
'import moment from moment'; this is wrong.
//this will work
import moment from 'moment';
or
import 'moment';

如果这些都不起作用,那就试着用webpack在全球范围内公开这一时刻。

这就是您要查找的内容。

import moment from 'moment'
import it from 'moment/locale/it'
import { utc } from 'moment'
moment.locale('it')

你可以在这里阅读相关问题。https://github.com/moment/moment/issues/2608

const moment = require('moment')

这对我有效

请改用此库:https://github.com/urish/angular-moment

加载js文件:

<script src="components/moment/moment.js"></script>
<script src="components/angular-moment/angular-moment.js"></script>

在应用程序控制器中注入时刻相关性:

  var myapp = angular.module('myapp', ['angularMoment']);

在这里,这是有效的:

import moment from 'moment';
window.moment = moment;