【问题标题】:Can you import node's path module using import path from 'path'您可以使用“路径”中的导入路径导入节点的路径模块吗
【发布时间】:2021-12-29 22:40:49
【问题描述】:

我更喜欢使用import x from 'y' 语法,但我在网上看到的都是const path = require('path')

有没有办法使用这种语法导入路径模块?

【问题讨论】:

标签: javascript node.js es6-modules


【解决方案1】:

对于尝试在 TypeScript 文件中导入 path 并在此处结束的人:

  1. 确保已安装节点类型:

    npm install --save-dev @types/node
    
  2. 导入路径符号:

    import * as path from 'path';
    

注意:@types/* 自动包含在编译中,前提是您使用 typescript 2.0 或更高版本,并且您没有覆盖编译器选项文件中的 types 属性 (tsconfig.json )。

【讨论】:

  • 在我的例子中,除了npm install --save-dev @types/node,我还必须更新我的tsconfig.json并在compilerOptions下添加node --> types
【解决方案2】:

你可以这样做

import module from 'path'

或者如果你只需要导入path 就这样做

import 'path'

【讨论】:

  • 不知何故 import 'path' 在 Windows 上使用节点 8.5 不再工作了。我不得不切换回const path = require('path')
  • 另外,import * as path from 'path'; 正在 Windows 上使用节点 8.5。
【解决方案3】:

如果不使用打字稿

import * as path from 'path'

是唯一对我有用的东西。

【讨论】:

  • 感谢您的贡献,但请看 Michael P. Bazos 的回答,他也确实提到了那部分
  • 感谢 Dharman,我认为表明这适用于 javascript,因为 Michael 的回答特别指的是 Typescript。
【解决方案4】:
import path from 'path';

到目前为止,这是在 typescript 中为我工作的代码。

【讨论】:

【解决方案5】:

如果您使用的 nodejs 版本支持 ES 6 功能,那么可以。否则不行。大多数旧版本(如果有记忆,则为 6.x 之前的版本,但您应该检查您的版本)需要 --harmony 标志才能执行此操作,最新版本本身包含它。

出于这个原因,并且因为它适用于所有版本,大多数在线资源仍然使用 require 语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 2020-10-27
    • 2010-09-21
    相关资源
    最近更新 更多