最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Nodejs导出聚合引发语法错误

IT培训 admin 10浏览 0评论

Nodejs导出聚合引发语法错误

我有许多较小的模块,它们构成服务器的完整API,每个模块都在其自己的文件中。但是,从单独的文件导入每个模块是很烦人的,因此,我想使用导出聚合从单个中央模块简单地导入它们。

[As per MDN,export语句应该能够处理以下聚合语法:

// Aggregating modules
export * from …; // does not set the default export
export * as name1 from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;
export { default } from …;

但是,我一直无法使用此导出语法;具体来说,是export * as name1 from ...语法,会引发Unexpected export specifier type错误。

我可以使用的上述格式之间的唯一形式是export * from ...,但这并不是特别有用...

这是我如何在模块中导出API:

// user.js - more modules export APIs the same way
export const loginWithEmail = ({ params }) => { /* ... */ }
export const loginWithPhoneNumber = ({ params }) => { /* ... */ }
// ... more exports

这就是我将这些模块导出到中央模块中的方式

// api.js - resides in the same location as the separate modules
export * as User from "./user";
export * as Vehicle from "./vehicle";
// ... more exports

有人可以帮我弄清楚我在做什么错吗?

该环境由VSCode 1.41,NodeJS 13,Expo SDK36,React 16.9,React-Native 0.61,JSX,ES8 +和eslint + babel-eslint组成。

回答如下:

来自this thread

问题是,我们通过“ foo”支持添加了export * as ns默认为@ babel / parser(在#10521中),而不是@ babel / preset-env。

作为解决方法,您可以启用@ babel / plugin-proposal-export-namespace-来自您的配置。

因此,将@babel/plugin-proposal-export-namespace-from添加到您的.babelrc和dev依赖项中,您应该就可以了!

Nodejs导出聚合引发语法错误

我有许多较小的模块,它们构成服务器的完整API,每个模块都在其自己的文件中。但是,从单独的文件导入每个模块是很烦人的,因此,我想使用导出聚合从单个中央模块简单地导入它们。

[As per MDN,export语句应该能够处理以下聚合语法:

// Aggregating modules
export * from …; // does not set the default export
export * as name1 from …;
export { name1, name2, …, nameN } from …;
export { import1 as name1, import2 as name2, …, nameN } from …;
export { default } from …;

但是,我一直无法使用此导出语法;具体来说,是export * as name1 from ...语法,会引发Unexpected export specifier type错误。

我可以使用的上述格式之间的唯一形式是export * from ...,但这并不是特别有用...

这是我如何在模块中导出API:

// user.js - more modules export APIs the same way
export const loginWithEmail = ({ params }) => { /* ... */ }
export const loginWithPhoneNumber = ({ params }) => { /* ... */ }
// ... more exports

这就是我将这些模块导出到中央模块中的方式

// api.js - resides in the same location as the separate modules
export * as User from "./user";
export * as Vehicle from "./vehicle";
// ... more exports

有人可以帮我弄清楚我在做什么错吗?

该环境由VSCode 1.41,NodeJS 13,Expo SDK36,React 16.9,React-Native 0.61,JSX,ES8 +和eslint + babel-eslint组成。

回答如下:

来自this thread

问题是,我们通过“ foo”支持添加了export * as ns默认为@ babel / parser(在#10521中),而不是@ babel / preset-env。

作为解决方法,您可以启用@ babel / plugin-proposal-export-namespace-来自您的配置。

因此,将@babel/plugin-proposal-export-namespace-from添加到您的.babelrc和dev依赖项中,您应该就可以了!

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论