【问题标题】:why require need .js extension while importing js file为什么在导入js文件时需要.js扩展名
【发布时间】:2017-08-14 11:10:40
【问题描述】:

我正在尝试使用以下链接实现 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 扩展名,为什么?大多数时候我使用 require 和 js 扩展。

const add = require('./login')

console.log(add(4, 5))  

【问题讨论】:

  • 所以你的母鹿使用.js扩展。为什么不继续呢?
  • 顺便提一下,RequireJS、CommonJS 和 SystemJS 是不同的框架。

标签: javascript jquery systemjs commonjs


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    根据SystemJS的例子,你必须把整个路径(包括扩展名)。

    您可以在这里查看:

    https://github.com/systemjs/systemjs

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2016-03-05
      • 2021-12-10
      • 2022-07-02
      • 2021-08-30
      相关资源
      最近更新 更多