【发布时间】:2021-12-29 22:40:49
【问题描述】:
我更喜欢使用import x from 'y' 语法,但我在网上看到的都是const path = require('path')。
有没有办法使用这种语法导入路径模块?
【问题讨论】:
-
你用的是什么编译器?你试过了吗?
标签: javascript node.js es6-modules
我更喜欢使用import x from 'y' 语法,但我在网上看到的都是const path = require('path')。
有没有办法使用这种语法导入路径模块?
【问题讨论】:
标签: javascript node.js es6-modules
对于尝试在 TypeScript 文件中导入 path 并在此处结束的人:
确保已安装节点类型:
npm install --save-dev @types/node
导入路径符号:
import * as path from 'path';
注意:@types/* 自动包含在编译中,前提是您使用 typescript 2.0 或更高版本,并且您没有覆盖编译器选项文件中的 types 属性 (tsconfig.json )。
【讨论】:
npm install --save-dev @types/node,我还必须更新我的tsconfig.json并在compilerOptions下添加node --> types。
你可以这样做
import module from 'path'
或者如果你只需要导入path 就这样做
import 'path'
【讨论】:
import 'path' 在 Windows 上使用节点 8.5 不再工作了。我不得不切换回const path = require('path')
import * as path from 'path'; 正在 Windows 上使用节点 8.5。
如果不使用打字稿
import * as path from 'path'
是唯一对我有用的东西。
【讨论】:
import path from 'path';
到目前为止,这是在 typescript 中为我工作的代码。
【讨论】:
"type": "module"添加到package.json。还要在tsconfig.json 中添加"esModuleInterop": true。 stackoverflow.com/a/37132668/69746
如果您使用的 nodejs 版本支持 ES 6 功能,那么可以。否则不行。大多数旧版本(如果有记忆,则为 6.x 之前的版本,但您应该检查您的版本)需要 --harmony 标志才能执行此操作,最新版本本身包含它。
出于这个原因,并且因为它适用于所有版本,大多数在线资源仍然使用 require 语法。
【讨论】: