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

时间:2017-08-14 11:10:40

标签: javascript jquery systemjs commonjs

我正在尝试使用以下链接实现CommonJS模式

https://blog.risingstack.com/node-js-at-scale-module-system-commonjs-require/

我收到错误找不到文件错误为什么? 这是我的代码 https://plnkr.co/edit/mYeCYw9MOr87b4dQZr5I?p=preview 此行存在错误 const add = require('./login')

当我在login之后添加.js时,它可以正常工作,但在示例中它不会添加.js扩展名为什么?我使用的大部分时间都需要js扩展名。

const add = require('./login')

console.log(add(4, 5))  

2 个答案:

答案 0 :(得分:1)

如果您想继续省略.js扩展名,可以使用SystemJS配置中的defaultExtension选项。如果我将它添加到您的plunker,它会加载而不会出错:

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

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

答案 1 :(得分:0)

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

你可以在这里查看:

https://github.com/systemjs/systemjs