node.js - 根据 Node 版本有条件地导入 Node 模块

标签 node.js

我所处的情况是,我们有不同的环境运行不同版本的 Node,我希望能够根据正在运行的 Node 版本有条件地导入某些模块。

我尝试使用以下代码块执行此操作,但会导致错误

'import' and 'export' may only appear at the top level

let ver = process.version.slice(1,ver.length).split('.');
if (parseInt(ver[0]) < 7) {
  import 'babel-polyfill'
}

最佳答案

为此有一个 babel-preset - https://babeljs.io/docs/en/babel-plugin-syntax-dynamic-import .您可以按如下方式使用它 -

let ver = process.version.slice(1,ver.length).split('.');
if (parseInt(ver[0] < 7)) {
    import('babel-polyfill')
    .then(result => {
       console.log(result);
    });
}

关于node.js - 根据 Node 版本有条件地导入 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51728741/

相关文章:

node.js - [错误: failed to connect to [localhost:27017]] from NodeJS to mongodb

javascript - 如何拦截 Electron 的请求并返回自定义响应?

node.js - 如何使用 Heroku 部署实时 Node.js 服务器

node.js - 将 Node.js 服务器设置为 WebRTC 对等点,并将视频从 USB 摄像头发送到客户端浏览器

node.js - 在 doT.js 中使用 html 文件代替点文件

javascript - 所有回调同时执行,但为什么呢?

node.js - NodeJS fs.rename 总是抛出错误

windows - 如何让 node-gyp 在 Windows 7 平台上工作

javascript - 如何将加密形式的密码从 ReactJS 发送到 ExpressJS?

node.js - 使用 http-server 永久部署 Node 应用程序