如何在 Node.js 中将文件的所有导出作为对象导入?
import关键字在 Javascript 中用于使用从其他模块导出的元素。将文件的所有导出作为对象导入的语法如下。
句法:
import * as objName from "abc-module"
...
let element1 = objName.value1
在这里, objName是您在将模块中的所有内容导入对象时首次初始化对象时给出的任何名称。
首先在我们的 package.json 文件中,添加以下属性:
"type" : "module"
当你有“type:module”属性时,你的源代码就可以使用import语法,否则会报错,只支持“require”语法。
您的 package.json 文件应类似于以下内容:
{
"name": "gfg-modules",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "GFG",
"license": "ISC"
}
项目结构:
这里,在“GFG-MODULES”的根目录下,有3个文件,分别是“index.html” 、 “index.js ”和我们的“package.json”文件,其中的“modules”文件夹包含一个名为“siteData.js”的文件。
示例:在 siteData.js 中,我们有以下代码:
siteData.js
export const siteName = "GeeksForGeeks";
export const url = "https://www.geeksforgeeks.org/";
export const founderName = "Sandeep Jain";
export const aboutSite = "A Computer Science portal for geeks";
export let siteContent =
"Computer science and Programming articles along with Courses";
index.js
import * as site from "./modules/siteData.js";
console.log(site);
console.log("Site Data is as follows:");
console.log(`Site name: \t${site.siteName}`);
console.log(`Site url : \t${site.url}`);
console.log(`Founder name: \t${site.founderName}`);
console.log(`About site: \t${site.aboutSite}`);
console.log(`Site Content: \t${site.siteContent}`);
在这个文件中,我们从模块“siteName”中导出了多个元素:
index.js
import * as site from "./modules/siteData.js";
console.log(site);
console.log("Site Data is as follows:");
console.log(`Site name: \t${site.siteName}`);
console.log(`Site url : \t${site.url}`);
console.log(`Founder name: \t${site.founderName}`);
console.log(`About site: \t${site.aboutSite}`);
console.log(`Site Content: \t${site.siteContent}`);
在这里,我们将模块“siteData.js”中的所有导出导入到一个名为“site”的对象中,然后使用它们。
输出: