与 requirejs 连接并排除单个文件
Concatenate with requirejs and exclude a single file?
我有使用 requirejs 的构建和应用程序,并使用它来通过文本插件加载 html 模板和单个配置文件。
连接后,html 模板内联在 JS 中,这很好,但我需要 config.json 文件仍然保留为一个像连接之前一样在外部加载的文件。
主视图的示例代码
define([
'jquery',
'underscore',
'backbone',
'lib/text!templates/main.html',
'lib/text!config.json',
], function($, _, Backbone, projectListTemplate, Config) {
var MainView = Backbone.View.extend({});
})
这是我的构建文件
({
appDir: './../public',
baseUrl: 'static/js/app',
dir: './../dist',
modules: [
{
name: 'main'
}
],
fileExclusionRegExp: /^(r|build)'.js$/,
exclude: ['config.json'],
optimizeCss: 'standard',
removeCombined: true,
paths: {
jquery: 'lib/jquery-2.0.3.min',
waypoints: 'lib/waypoints.min',
underscore: 'lib/underscore',
backbone: 'lib/backbone',
text: 'lib/text',
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: [
'underscore',
'jquery',
'waypoints'
],
exports: 'Backbone'
},
}
})
您应该以包含文件的方式排除文件。试试这样一种方式:
exclude: ['lib/text!config.json']
但是我只是停止使用这种方法,因为它需要在构建阶段存在config.json文件。相反,我使用的是嵌套的需求调用(您可以在 define
d 模块中使用 require 在运行时加载文件)。与define
不同,嵌套require
可能不包含在构建过程中(默认情况下它们不包含),验证阶段将很好。
请注意,这种方法至少有一个缺点:
嵌套需求调用也是异步的。但就我而言,这不是问题。
相关文章:
- 仅使用文件对象选择单个文件
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- Grunt imagemin-观察多个文件/文件夹优化单个文件
- Vue.js:如何在单个文件组件中指定道具
- Dropzone.js-上传文件夹结构和单个文件
- jQuery文件上传库:如何点击单个文件进行上传
- 在单个文件中需要js和多个已编译的Handlebar.js模板
- TypeScript 1.8,多个.ts文件中的单个文件-应用程序结构
- 将 JavaScript 缩小的文件压缩为单个文件
- 使用文件输入选择多个 FIle 时删除单个文件
- 如何从单个文件导出多个类
- 使用单个文件集成整个Yeoman,AngularJS项目
- 在 node.js 中的单个文件中调用两个函数
- 使用 RejamableJS 取消、中止和重试单个文件上传
- 将行添加到文件时,如何使用单个文件描述符或流检测和读取它们
- 与 requirejs 连接并排除单个文件
- 如何在plupload中获取队列的总文件大小而不是单个文件大小
- 在浏览器中使用javascript将HTML页面的所有外部资源嵌入到单个文件中
- blueimp文件上载的单个文件上载问题
- grunt contrib clean不删除单个文件