我创建了一个名为node_esm的文件夹,并在终端npm init -y上运行命令。创建一个package.json。然后通过运行命令ordinal和npm install date-names来安装两个包-- npm install ordinal和npm install date-names,它们创建了一个名为node_modules的文件夹。然后创建一个文件名index.mjs,并使用--experimantal-modules标志并面对错误通过终端执行它。
index.mjs文件是:
import ordinal from "ordinal";
import {days, months} from "date-names";
console.log(ordinal);
console.log(months);在ordinal文件夹中有两个js文件index.js和indicator.js
index.js文件为: var is=需要量(‘./is’)
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 = ordinalindicator.js文件是:
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文件是:
"use strict";
module.exports = require('./en');en.js文件是:
"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'
};错误是:
(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
https://stackoverflow.com/questions/53506214
复制相似问题