如何在Javascript中导入语法之前运行多个代码?

Lao*_*tih 9 javascript import module node.js ecmascript-6

import我想在执行语法内的代码之前运行几个代码。

例子

file-1.js

console.log('Inside File 1')

import './file-2.js'
Run Code Online (Sandbox Code Playgroud)

file-2.js

console.log('Inside File 2')
Run Code Online (Sandbox Code Playgroud)

输出

Inside File 2
Inside File 1
Run Code Online (Sandbox Code Playgroud)

我期望的输出

Inside File 1
Inside File 2
Run Code Online (Sandbox Code Playgroud)

环境

v12.19.0具有模块配置的Node JS


真实案例

文件1.js

process.env.SHARED_DATA = 'Hello world'

import './file-2.js'
Run Code Online (Sandbox Code Playgroud)

文件2.js

console.log(process.env.SHARED_DATA)
Run Code Online (Sandbox Code Playgroud)

输出

undefined
Run Code Online (Sandbox Code Playgroud)

Lao*_*tih 11

您可以在单独的文件中定义环境数据。正如@loganfsmyth所说,语法import将按照其他导入的顺序运行。

例子

main.js

console.log('Inside main.js file')

import './set-env.js'
import './file.js'
Run Code Online (Sandbox Code Playgroud)

set-env.js

console.log('Inside set-env.js file')

process.env.SHARED_DATA = 'Hello world'
Run Code Online (Sandbox Code Playgroud)

file.js

console.log(process.env.SHARED_DATA)
Run Code Online (Sandbox Code Playgroud)

输出

Inside set-env.js file
Hello world
Inside main.js file
Run Code Online (Sandbox Code Playgroud)