为什么我不能在节点中设置时刻区域设置

Why Can't I set moment locale in node?

本文关键字:设置 时刻 区域 节点 不能 为什么      更新时间:2023-09-26

我正在运行一个节点应用程序,这就是我在应用程序中的全部内容.js:

var moment = require('moment');
moment().locale('fr');
console.log(moment.locale())

我希望它输出"fr",但它输出"en",当我

runjs app.js

在 node_modules/moment/locale 中有一个 fr 文件夹。

这是我的包裹:

{
  "name": "zenqa",
  "version": "1.0.0",
  "description": "Faq for Zenconomy.se",
  "main": "index.js",
  "dependencies": {
    "body-parser": "^1.14.2",
    "concat-files": "^0.1.0",
    "express": "^4.13.3",
    "marked": "^0.3.5",
    "moment": "^2.11.2",
    "mustache-express": "^1.2.2",
    "node-sass-middleware": "^0.9.7",
    "php-unserialize": "0.0.1",
    "requestify": "^0.1.17",
    "validator": "^4.8.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo '"Error: no test specified'" && exit 1"
  },
  "author": "Kristoffer Nolgren",
  "license": "ISC",
  "repository": {
    "type": "git",
    "url": "git@github.com:kristoffernolgren/ZenqaMiddleware.git"
  }
}

根据文档,有一个错误阻止 moment.locale 被加载。因此,您可以使用以下代码。

var moment = require('moment');
require('moment/locale/fr');
console.log(moment.locale());

您可以使用:

import moment from "moment";
import "moment/locale/es";
花了

几个小时才意识到我必须从目录导入语言环境/dist。也许这只是由我的设置引起的,但可能会帮助某人

import moment from 'moment';
import 'moment/dist/locale/fr';
moment.locale('fr');

测试

import fr1 from 'moment/dist/locale/fr';
import fr2 from 'moment/locale/fr';
console.log(fr1); // Locale {_calendar: {…}, ... }
console.log(fr2); // {}

根据当前的文档,可以:

var moment = require('moment');
moment.locale('fr');
console.log(moment().format());

对于节点,您可以使用:

moment.updateLocale('es');

我已经测试过了。

当前文档不正确。在 Node 中.JS您仍然使用以下代码:

moment.lang('fr');