NodeJS 导出数组以用于另一个JavaScript文件

jgwigjjp  于 12个月前  发布在  Node.js
关注(0)|答案(3)|浏览(135)

在我的post请求中,我想检查thisString是否存在于另一个JavaScript文件数组中。
Array.js

exports.names = [
    'John',
    'Mary'
]

字符串
Main.js

if (names.includes(thisString)) {
    ...do stuff...
}


如果thisString = MaryMain.js返回“undefined”。如果我console.log(names),它返回数组。但是console.log(names[0])是undefined。如果我复制并粘贴数组到Main.js文件中,它会按预期工作。
我想把数组放在另一个文件中,只是为了清理一下,但是我做错了什么?

7nbnzgx9

7nbnzgx91#

typescript :
Array.ts

export let array = [1,2,3];

字符串
Main.ts

import {array} from "./Array.ts"
array.map(item => console.log(item +1))


JavaScript(nodejs)
array.js

exports.array =  [1,2,3];


main.js

let module = require('./array.js');

let array = module.array;

array.map(item => console.log(item +1))

dhxwm5r4

dhxwm5r42#

下面是我的作品。你也可以试试:

Array.js

exports.names = [
    'John',
    'Mary'
]

字符串

Main.js

const data = require('./array.js');

const thisString = 'Mary';
if (data && data.names && data.names.includes(thisString)) {
    console.log('You are in!');
}

0vvn1miw

0vvn1miw3#

对我来说,最好的解决方案是这样导出:
array.js

export const names = [
  'john',
  'James',
  'Jeff'
];

字符串
在main.js中将变量导入为named-import

import { names} from './array.js'
console.log(names)


//输出=>“John”,“James”,“Jeff”]
使用此方法,您可以从一个文件中导入多个变量,只要您导出它们。但是,如果您从同一文件中导出多个变量,最好遵循以下约定:

export { x, y, z };
const x = 1;
const y = ['a', 'b'];
const z = {"name": "James",};

相关问题