我想了解requireJs的工作原理。有一个属性"包"我在配置requireJs时遇到的。我的理解是'包装'用于提及包含" main.js"的完整文件夹/模块。 &安培; main.js需要该模块中的所有其他依赖项。但确实提到"包"在配置文件中会自动加载main.js还是我们需要做一些事情来加载main.js? 下面是我的文件夹结构& main.js片段。 ' main.js'是应用程序的数据主要或入口点。
答案 0 :(得分:-1)
所以在尝试了一些东西之后,我理解的是,包你可以提到一个包含其他模块的目录或文件夹(commonJs目录是docs引用它的目的)。所以我们定义包的方式是:
packages: [
{name : 'controllers' , location :'../controllers' },
{name : 'directives' , location : '../directives'},
{name : 'services' , location : '../services'}
] ,
其中 name 是整个目录或文件夹的别名。 location是文件夹相对于main.js或requireJs配置文件的路径。
现在回答2点 - 它不会自动加载。为了加载它我们需要在某个地方需要它。一旦我们需要它,requireJs将默认首先在该目录中加载main.js。我们需要在main.js中定义该目录中的所有其他模块。例如 - 我会在引导我的应用程序之前在我的app.js中要求它 -
require([
// Add additional dependencies
'angular',
'angular-ui-router',
'jquery',
'app',
'route',
"controllers",
"directives",
"services"] , function(){ console.log("All dependencies loaded"); });