使用 RequireJS 加载不需要的文件
Using RequireJS to load files that are not required else where
我目前正在构建一个需要某种脚本依赖加载器的大型Web应用程序。我开始使用 RequireJS,发现它非常擅长将我的代码优化为一个以正确的依赖顺序加载的大型 JS 文件。
但是我有插件 - 这些插件在任何地方都不需要,因为我的 web 应用程序不知道文件夹中有什么插件。我想要的是grunt-contrib-requirejs过程是:
1 - 获取我所有的核心文件,并根据它们的依赖项将其加载到一个文件中。
2 - 然后我希望它运行我的两组插件文件夹并根据它们的依赖项按顺序加载它们。
3 - 然后将这些串联文件放入第一个文件中,这样我就有一个JS文件。
我有一个 Less 和 Handlebars 流程,可以搜索每个 Less/CSS/Handlebars 文件并对其进行排序,我想知道 RequireJS 是否有类似的东西?
以下是我对 RequireJS 的繁琐过程:
requirejs: {
compile: {
options: {
name: "core/js/app",
baseUrl: "src",
mainConfigFile: "./config.js",
out: "./build/adapt/js/adapt.min.js"
}
}
}
这是我的配置.js文件:
'use strict';
require.config({
deps: ['core/js/app'],
paths: {
jquery: 'core/js/libraries/jquery.v2',
underscore: 'core/js/libraries/underscore',
backbone: 'core/js/libraries/backbone',
modernizr: 'core/js/libraries/modernizr',
handlebars: 'core/js/libraries/handlebars',
imageReady: 'core/js/libraries/imageReady',
inview: 'core/js/libraries/inview',
scrollTo: 'core/js/libraries/scrollTo',
coreJS: 'core/js',
components: 'components'
},
shim: {
jquery: [],
backbone: {
deps: ['core/js/libraries/underscore', 'core/js/libraries/jquery.v2'],
exports: 'Backbone'
},
underscore: {
exports: '_'
},
handlebars: {
exports: 'Handlebars'
}
}
});
我承认对 RequireJS 很陌生,所以最好得到一些关于解决方案的建议。但就像我上面说的 - 我需要一个不通过 JSON 列表的构建过程,而是在主核心以正确的顺序优化后搜索文件夹。
谢谢
作为开发人员,我们试图使添加 插件,而不是编辑 JSON 文件。
这是一个由文档解决的问题,而不是自动化。在 require 配置中添加一行比编写 Grunt 任务以自动执行相同操作然后维护该文件更容易。即使它是自动完成的,您将如何处理用户定义的配置?是否会设置一些样板,然后将其与某个目录中自动生成的.js文件列表连接起来?您仍然必须用run grunt generaterequireconf
或类似的东西来记录这一点。
只需记录添加 jQuery 插件的过程:下载,安装到指定目录,然后在 require 配置中添加主 JS 文件的路径,这是该路径。
我还想说的是看看鲍尔,看看你是否可以让人们使用它来管理第三方制作的插件。
- 如何使用jQuery通过ajax调用php类方法,但不需要任何php处理程序文件
- Javascript 文件以不需要的顺序加载
- 需要 gulpfile 中的另一个文件(不在 node_modules 中)
- 如何显示上传带有不需要的扩展名的文件的错误
- 使用 RequireJS 加载不需要的文件
- GULP Compass 会创建一个不需要的文件,而不是仅使用流
- 使用 gulp 编译 TypeScript 会创建一个不需要的目标文件夹
- 不需要的文件在IE中提交后清除文本框
- 节点.js“需要”其他文件,而不需要命名空间
- 我想让用户在谷歌硬盘上创建文件夹,而不需要任何进一步的签名
- 外部Javascript文件不工作,需要帮助
- 如何在不需要服务器交互或cookie的情况下将值从一个Javascript文件传输到另一个JS文件
- 在用户登录时加载主js文件,我们现在不需要它们
- 用jquery函数上传图像或文件,只需要它,不需要php,也不需要更多的代码
- Bower应该自动包含库js和css文件吗;不需要在index.html中列出
- 制作生产环境中不需要的JavaScript文件
- 从JS中运行karma test,不需要配置文件
- 更新文件时不需要重启Node.js中的服务器
- 在同一文件中使用ajax将javascript变量传递给php函数,而不需要刷新页面
- 我能在不需要文件的情况下插入一个函数吗?