【问题标题】:load require js modules without a relative path加载需要没有相对路径的 js 模块
【发布时间】:2017-04-09 08:08:30
【问题描述】:

我的目录结构如下。

|-- app.js
|-- config.js
|-- index.html
|-- js
|   |-- firstpage
|   |   `-- firstpage.js
|   |-- lib
|   |   `-- jquery-3.2.0.min.js
|   `-- secondpage
|       `-- secondpage.js
`-- require.js

app.js

define(function(require, module){
  var $ = require("jquery"),
  firstpage = require("./firstpage/firstpage"),
  secondpage = require("./secondpage/secondpage");
})

如果我在浏览器中加载 index.html,“第一页”和“第二页”会正确加载。

但我正在寻找的是使用以下名称加载这些脚本:

  firstpage = require("firstpage"),
  secondpage = require("secondpage");

我发现“路径”属性在文档中很有用,但是当我有大量文件要加载并且需要为每个文件提供单独的条目时,这似乎有点过头了。

有人可以建议一个更好的方法来实现这一点吗?

在互联网上似乎有很多噪音(因为缺乏更好的词),但我无法使用这些来缩小到确切的解决方案(还有duplicate question 似乎没有回答这个)

【问题讨论】:

    标签: javascript requirejs commonjs


    【解决方案1】:

    如果您的模块都在 same 目录下,您可以将 baseUrl 设置为包含它们的目录,然后您可以只要求具有绝对名称的模块,而无需指定一个配置中每个模块的路径。但是,您的模块位于不同的目录下,因此您不能这样做。

    您需要的功能相当于执行以下转换:moduleName.replace(/^(.*)$/, "./$1/$1")。不幸的是,RequireJS 的运行时配置不支持这种模式匹配。如果您不想为每个模块创建一个条目,您可以编写一个脚本自动为您填写paths。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2012-12-03
      • 2012-04-21
      相关资源
      最近更新 更多