【发布时间】:2017-07-04 04:34:46
【问题描述】:
最近我进入这个:
import foo = require("/foo");
这听起来很奇怪,因为我通常这样使用 require:
var foo = require("/foo");
或者像这样导入:
import foo from "/foo";
那么,这有什么意义呢?
【问题讨论】:
标签: javascript typescript module require
最近我进入这个:
import foo = require("/foo");
这听起来很奇怪,因为我通常这样使用 require:
var foo = require("/foo");
或者像这样导入:
import foo from "/foo";
那么,这有什么意义呢?
【问题讨论】:
标签: javascript typescript module require
import {foo} = require("/foo"); 和 var foo = require("/foo"); 语句不等价。说/foo是一个文件,内容如下:
export default { bar: 'bar' };
export const foo = 'hello';
使用第一条语句,您的变量foo 将是'hello'。 {} 是 object destructuring。在另一种情况下,您将收到默认导出,这意味着 foo 将是对象 { bar: 'bar' }。
MDN 有一些很好的解释:https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/import
【讨论】:
结帐the export = and import = require() 部分文档:
使用
export =导入模块时,必须使用TypeScript 特定的import let = require("module")来导入模块
你也可以这样写:
import foo = require("/foo");
【讨论】:
import require 的 eslint 错误,而且这个话题已经有 4 年历史了。为什么到目前为止我从来没有遇到过任何问题?