我的目录结构如下。
|-- 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"和" secondpage"正确加载。
但我正在寻找的是如下加载这些脚本,只需要名称:
firstpage = require("firstpage"),
secondpage = require("secondpage");
我找到了"路径"在文档中有用的属性,但是当我有大量要加载的文件并且需要为每个文件分别输入时,这似乎有点过分。
有人可以建议一个更好的方法来实现这个目标吗?
在互联网上似乎有很多噪音(因为缺乏更好的词)但是我无法缩小到使用那些的确切解决方案(还有duplicate question也似乎没有回答这个问题)
答案 0 :(得分:0)
如果您的模块都在相同的目录下,您可以将baseUrl
设置为包含它们的目录,然后您可以只需要具有绝对名称的模块,而不必在配置中为每个模块指定一个路径。但是,您的模块位于不同的目录下,因此您无法执行此操作。
您需要的功能相当于执行以下转换:moduleName.replace(/^(.*)$/, "./$1/$1")
。不幸的是,RequireJS'运行时配置不支持这种模式匹配。如果您想避免为每个模块创建一个条目,可以编写一个自动填写paths
的脚本。