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

Posted

技术标签:

【中文标题】如何使用 npm 在 ES6 中导入 moment.js?【英文标题】:How to import moment.js in ES6 using npm? 【发布时间】:2016-07-28 08:20:58 【问题描述】:

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

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

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

'import moment from 'moment';

但是如果搜索具有日期范围的内容,则会在控制台中显示错误。任何人都可以帮助我如何做到这一点..?

【问题讨论】:

app.js node.js 文件吗?如果是,则使用var moment = require('moment'); 没有穆克什。我说的是 Angular 中的 app.js 你要告诉我们错误是什么吗? 【参考方案1】:
const moment = require('moment')

这对我有用

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

对我有用的选项是:

import * as moment from 'moment';

【讨论】:

【参考方案3】:

这就是你正在寻找的。

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

您可以在此处阅读相关问题。 https://github.com/moment/moment/issues/2608

【讨论】:

【参考方案4】:

这里,这行得通:

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

【讨论】:

【参考方案5】:

因为版本 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

不过,目前似乎无法只导入部分函数,​​您必须导入整个函数。

【讨论】:

【参考方案6】:

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

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

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

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

【讨论】:

【参考方案7】:

你写的代码不行,不行

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

如果这些不起作用。然后尝试使用 web-pack 向全局公开时刻。

【讨论】:

这是一个错字。与实际问题无关。【参考方案8】:

改用这个库: 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']);

【讨论】:

嗨 Anlainlb。我正在使用 es6 和 webpack。如果我使用 node modules ,webpack 可以构建前端代码。所以我想那样做

以上是关于如何使用 npm 在 ES6 中导入 moment.js?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vue 3 (Danfo.js) 中导入 NPM 包

无法从 npm 包中导入 vue 组件

在 Meteor 1.3 中导入通过 npm 安装的外部 Javascript 库

如何从 typescript 项目中导入 npm 包?

使用 es6 在 NodeJs 中导入 JSON 文件

在 Nativescript Playground 中导入 npm 包