Javascript 导入对象时出错:语法错误:意外标记{
我有一个包含两个文件的支付目录:constants.js和controller.js constants.js: 在我的controller.js中,我导入,但得到一个错误: 从“./常量”导入{条带常量,SKU常量} 函数导出,require,module,_文件名,_dirname{import{STRIPE_常量,SKU_常量}来自'./CONSTANTS'; ^ SyntaxError:意外标记{Javascript 导入对象时出错:语法错误:意外标记{,javascript,node.js,Javascript,Node.js,我有一个包含两个文件的支付目录:constants.js和controller.js constants.js: 在我的controller.js中,我导入,但得到一个错误: 从“./常量”导入{条带常量,SKU常量} 函数导出,require,module,_文件名,_dirname{import{STRIPE_常量,SKU_常量}来自'./CONSTANTS'; ^ SyntaxError:意外标记{ 我做错了什么?谢谢。看起来您正在使用尚未实现ES模块的节点运行时执行代码。如果您首先使用t
我做错了什么?谢谢。看起来您正在使用尚未实现ES模块的节点运行时执行代码。如果您首先使用transpiler从ES6转换到ES5,这将在浏览器上运行 您需要使用require导入模块,然后使用exports导出模块 ES模块已在node 8.5.0及更高版本中实现,但需要注意的是,文件名应以.mjs结尾,以免破坏现有代码 常数.js controller.js
看起来您正在使用尚未实现ES模块的节点运行时执行代码。但是,如果您首先使用transpiler从ES6转换到ES5,这将在浏览器上运行 您需要使用require导入模块,然后使用exports导出模块 ES模块已在node 8.5.0及更高版本中实现,但需要注意的是,文件名应以.mjs结尾,以免破坏现有代码 常数.js controller.js
或者在节点应用程序中使用@babel/register.Sure实现babel。这将是另一种方式,或者在节点应用程序中使用@babel/register.Sure实现babel。这将是另一种方式
export const STRIPE_CONSTANTS = {
USD: 'usd',
SKU: 'sku',
};
export const SKU_CONSTANTS = {
first_sku: 'sku_abc123',
};
const STRIPE_CONSTANTS = {
USD: 'usd',
SKU: 'sku',
};
const SKU_CONSTANTS = {
first_sku: 'sku_abc123',
};
exports.STRIPE_CONSTANTS = STRIPE_CONSTANTS;
exports.SKU_CONSTANTS = SKU_CONSTANTS;
// If you want to export it as an object instead of that you
// can use destructing when importing them you can use `module.exports`
// instead
module.exports = {
STRIPE_CONSTANTS,
SKU_CONSTANTS
}
const constants = require('./constants');
const STRIPE_CONSTANTS = constants.STRIPE_CONSTANTS;
const SKU_CONSTANTS = constants.SKU_CONSTANTS;
// If constants was exported as an object using `module.exports`
// you can use destructing instead
const { STRIPE_CONSTANTS, SKU_CONSTANTS } = require('./constants');