为什么在Javascript / Typescript上进行这么多种导入/导出

时间:2017-04-25 05:53:20

标签: javascript node.js typescript

我是服务器端javascript的新手,我之前使用过nodejs来处理简单的事情,但只使用默认库(我从来不需要使用requireimport关键字),但最近我正在学习ReactNative / ReactXP我已经看过:

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-requireimport-requireimport-from的组合之间的区别是什么? Mozilla's doc

上似乎没有export=的内容

2 个答案:

答案 0 :(得分:2)

import RX = require('reactxp');
import LoginPage = require("./LoginPage");
export = LoginPage; // LoginPage is a class

这3个是typescript modules import/export syntax

const popsicle = require('popsicle');

这是nodejs modules require

其余的

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

ES2015 modulesimport export)。

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

答案 1 :(得分:1)

基本上没有区别: -

  1. e = tf.Variable(6, name='var_e', collections=[tf.GraphKeys.LOCAL_VARIABLES]) print [str(i.name) for i in tf.local_variables()] 是ES5中的新功能。在您必须明确地或使用iffy创建之前。
  2. const是ES6中的新功能,它只是import的替代品(取决于常见的js模块)。
  3. require也是ES6的一项功能,可让您在其他文件中使用Exportmodule
  4. 所以,这只是新的惯例&没有。现在默认情况下在ES6之后使用Javascript。

    此外,object/var可让您直接公开模块/对象属性,它也是ES6中的新功能。例如: -

    让你有一个对象&在文件obj.js中:

    {}

    所以基本上有两种方法可以使用它 1.

      

    让obj = require(' obj');

    export let objj1 = { a : function () {}, b : function () {}, }

    OR

      

    从' obj'

    导入{a,b}

    所以现在你可以直接进入a& b属性。