我对 node.js 很陌生,正在使用 node v13.6.0
遵循教程。
我想将 is-empty'
导入到此文件中:
const Validator = require('validator');
import isEmpty from './is-empty';
module.exports = function validateRegisterInput(data) {
let errors = {};
if(Validator.isLength(data.name), {min:2, max: 30}) {
errors.name = 'name is too short or too long';
}
return {
errors,
isValid: isEmpty(errors)
}
}
但我收到此错误:
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1060:16)
at Module._compile (internal/modules/cjs/loader.js:1108:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14)
at Module.require (internal/modules/cjs/loader.js:1033:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/me/myapp/routes/api/users.js:12:31)
at Module._compile (internal/modules/cjs/loader.js:1144:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14)
at Module.require (internal/modules/cjs/loader.js:1033:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/me/myapp/server.js:7:15)
at Module._compile (internal/modules/cjs/loader.js:1144:30)
is-empty
定义如下:
const isEmpty = value =>
value === undefined ||
value === null ||
(typeof value === 'object' && Object.keys(value).length === 0) ||
(typeof value === 'string' && value.trim().length === 0);
module.exports = isEmpty
我想知道如何解决这个问题?
最佳答案
您应该使用 require 而不是 import,如 https://nodejs.org/api/esm.html#esm_package_json_type_field 中所述
const Validator = require('validator');
const isEmpty = require('./is-empty');
module.exports = function validateRegisterInput(data) {
let errors = {};
if(Validator.isLength(data.name), {min:2, max: 30}) {
errors.name = 'name is too short or too long';
}
return {
errors,
isValid: isEmpty(errors)
}
}
``
关于javascript - Get 无法在 Node.js 中的模块外部使用 import 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63516144/