使用终端创建快速项目时,为什么每个导入的库都带有“ var”?

时间:2018-11-06 14:32:54

标签: javascript node.js express

虽然我使用终端(命令“ express myapp”)创建一个新的express项目,但是默认情况下,所有导入的依赖项都附带var。

示例:

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

我的理解是,如果我们不需要更改任何引用,则应使用“ const”。然后,

  

为什么以上依赖项是通过var自动生成的?我是不是该   将所有这些东西从var转换成cont?如果我这样做,会不会   有什么问题吗?

2 个答案:

答案 0 :(得分:2)

  

为什么上述依赖项是通过var自动生成的?

由于const是“相当”新的(+4年),因此可能有一些旧的nodejs实例仍在运行,因此必须予以支持。或没有人认为有必要对其进行更改(因为它可以工作并且将永远工作)。

  

我应该将所有这些内容从var更改为cont吗?

如果您有空闲时间,那将是有道理的。

  

如果我这样做,会出现任何问题吗?

不,它可以解决问题,因为var会引起一些冲突。

答案 1 :(得分:0)

我认为它是在发布es6之前完成的,并且可能是该项目不包含babel的情况,可能是import而不是require的声明在es6之后发布。

如果您的项目支持ie10以上的浏览器,那么您可以使用const替换