首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在实现nodejs 6时面临错误

在实现nodejs 6时面临错误
EN

Stack Overflow用户
提问于 2018-11-27 18:44:44
回答 1查看 50关注 0票数 1

我创建了一个名为node_esm的文件夹,并在终端npm init -y上运行命令。创建一个package.json。然后通过运行命令ordinalnpm install date-names来安装两个包-- npm install ordinalnpm install date-names,它们创建了一个名为node_modules的文件夹。然后创建一个文件名index.mjs,并使用--experimantal-modules标志并面对错误通过终端执行它。

index.mjs文件是:

代码语言:javascript
复制
  import ordinal from "ordinal";
  import {days, months} from "date-names";

  console.log(ordinal);
  console.log(months);

ordinal文件夹中有两个js文件index.jsindicator.js

index.js文件为: var is=需要量(‘./is’)

代码语言:javascript
复制
  function ordinal (i) {
    if (typeof i !== 'number') throw new TypeError('Expected Number, got ' +(typeof i) + ' ' + i)
    return i + indicator(i) 
  }

  ordinal.indicator = indicator
  module.exports = ordinal

indicator.js文件是:

代码语言:javascript
复制
  module.exports = function indicator (i) {
   var cent = i % 100
   if (cent >= 10 && cent <= 20) return 'th'
   var dec = i % 10
   if (dec === 1) return 'st'
   if (dec === 2) return 'nd'
   if (dec === 3) return 'rd'
   return 'th'
   }

date-names文件夹中,index.js文件是:

代码语言:javascript
复制
   "use strict";
   module.exports = require('./en');

en.js文件是:

代码语言:javascript
复制
 "use strict";

 module.exports = {
 __locale: "en",
 days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
 abbreviated_days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
 months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
 abbreviated_months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
 am: 'AM',
 pm: 'PM'
 };

错误是:

代码语言:javascript
复制
   (node:8402) ExperimentalWarning: The ESM module loader is experimental.
   file:///home/amarjeet/eloquentjs/ch-10%20modules_1/format-date.mjs:4
   import {days, months} from "date-names";
    ^^^^
   SyntaxError: The requested module 'date-names' does not provide an export named 'days'
   at ModuleJob._instantiate (internal/modules/esm/module_job.js:80:21)

告诉我我做错了什么。我使用的是节点版本10.13.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 19:04:44

由于有效和无效的CommonJS语法之间的混淆,删除了使用Es6导出的导入+析构。

您可以查看有关这些这里这里的更多信息。

同时,您可以做的是(如链接所示)。

代码语言:javascript
复制
import data from './Export.js';
const {key} = data;

*请随意编辑这个答案,以获取更准确的信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53506214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档