使用没有Babel的Node 10将ESM导入CJS的正确方法是什么?
我目前正在这样做,但我收到Not supported
错误,我认为这是Babel语法,但我似乎无法找到Node 10
语法...( https://medium.com/@giltayar/native-es-modules-in-nodejs-status-and-future-directions-part-i-ee5ea3001f71)
//ESM Files (.mjs), Code executed in CJS, (.js), Node 10
//CJS code
const commandFiles = fs.readdirSync(folderPath);
for (const file of commandFiles) {
let command = await import(`./Commands/${file}`);
}
//ESM code
class MyClass {}
export default new MyClass();
答案 0 :(得分:0)
好的,public boolean someFunction( String myValue ){
Connection conn = null;
boolean fRetVal = false;
String query = "select something from anytable";
try {
conn = DBUtil.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery( query );
if ( rs.next() )
fRetVal = true;
rs.close();
stmt.close();
} catch( SQLException ex ) {
System.out.println(ex);
}finally{
DBUtil.closeConnection(conn);
}
return fRetVal;
}
中缺少--experimental-modules
个标记。
我认为在节点10中不需要这样做。
答案 1 :(得分:0)
实际上您应该运行node --experimental-modules app.mjs
。
请注意,命名约定是保留.mjs
并直接运行它(而.js
仍用于CommonJS)。
侧面通知:使用.mjs
的浏览器也可以与ES6模块一起运行<script type=module src=path/to/app.mjs></script>