如何使用 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 包