Javascript 为什么在导入js文件时需要.js扩展名

Javascript 为什么在导入js文件时需要.js扩展名,javascript,jquery,systemjs,commonjs,Javascript,Jquery,Systemjs,Commonjs,我正在尝试使用下面的链接实现CommonJSPatten 我收到错误未找到文件错误为什么? 这是我的密码 此行上存在错误 const add=require('./login') 当我在login之后添加.js时,它可以工作,但在示例中它没有添加.js扩展名,为什么?大部分时间我都使用require和js扩展 const add = require('./login') console.log(add(4, 5)) 根据SystemJS示例,您必须放置整个路径(包括扩展) 您可以在这里

我正在尝试使用下面的链接实现CommonJSPatten

我收到错误未找到文件错误为什么? 这是我的密码 此行上存在错误
const add=require('./login')

当我在
login
之后添加.js时,它可以工作,但在示例中它没有添加
.js
扩展名,为什么?大部分时间我都使用require和
js
扩展

const add = require('./login')

console.log(add(4, 5))  

根据SystemJS示例,您必须放置整个路径(包括扩展)

您可以在这里查看:


如果您想继续省略
.js
扩展,可以在SystemJS配置中使用
defaultExtension
选项。如果我将其添加到您的plunker中,它将无误加载:

SystemJS.config({
  packages: {
    '': {
      defaultExtension: "js"
    }
  }
})

这定义了一个包含所有代码的包,如果模块请求中未指定默认扩展名,则默认扩展名为
.js

,因此doe可以使用
.js
扩展名。为什么不继续呢?顺便说一下,RequireJS、CommonJS和SystemJS是不同的框架。