为什么Javascript/Typescript上有这么多类型的导入/导出

为什么Javascript/Typescript上有这么多类型的导入/导出,javascript,node.js,typescript,Javascript,Node.js,Typescript,我是服务器端javascript的新手,以前我用过nodejs来做简单的事情,但只使用默认库(我从来都不需要使用require或import关键字),但最近我学到了/我看到了: import RX = require('reactxp'); const popsicle = require('popsicle'); import LoginPage = require("./LoginPage"); import React, { Component } from 'react'; import

我是服务器端javascript的新手,以前我用过nodejs来做简单的事情,但只使用默认库(我从来都不需要使用
require
import
关键字),但最近我学到了/我看到了:

import RX = require('reactxp');
const popsicle = require('popsicle');
import LoginPage = require("./LoginPage");
import React, { Component } from 'react';
import { AppRegistry, Text } from 'react-native';
import AppState from './AppState';
进出口:

export default Resources; // Resources is an object
export = LoginPage; // LoginPage is a class
问题是,
const require
import require
import from
的组合有什么区别?还有什么是
export=
它似乎不在屏幕上

这三个是

这是
要求的

其余的

import React, { Component } from 'react';
import { AppRegistry, Text } from 'react-native';
import AppState from './AppState';
export default Resources; // Resources is an object
是()


这并不是说你可以比较它们:它们只是针对不同的环境导入/导出。

基本上没有区别:-

  • const
    在ES5中是新的。在您必须显式或使用iffy创建它之前
  • import
    在ES6中是新的,它只是
    require
    (依赖于公共js模块)的替代品
  • 导出
    也是ES6的一项功能,它允许您在其他文件中使用
    模块
    对象/var
  • 所以,这只是新的惯例&没有什么。现在默认情况下,在ES6之后使用Javascript

    另外,
    {}
    允许您直接公开模块/对象属性,这也是ES6中的新特性。例如:-

    让我们在obj.js文件中有一个对象:

     export let objj1 = {
        a : function () {},
        b : function () {},
     }
    
    所以基本上有两种方法可以使用它 1.

    设obj=require('obj')

    a=obj.a或b=obj.b

    从'obj'导入{a,b}


    现在您可以直接访问a&b属性。

    导出在Mozilla文档中有描述:。@Robert
    export=
    是一种类型脚本表示法。@Robert Node.js使用
    模块。exports
    exports
    。ES6模块使用
    导出表达式
    (或类似)。但是
    export=
    (注意它不是
    exports=
    )是一种类型脚本符号。
    import React, { Component } from 'react';
    import { AppRegistry, Text } from 'react-native';
    import AppState from './AppState';
    export default Resources; // Resources is an object
    
     export let objj1 = {
        a : function () {},
        b : function () {},
     }