RequireJS如何从jam文件包部分指定垫片依赖项
我在一个有主干模板的项目中工作,该模板使用RequireJS加载模块,使用JamJS管理模块。 我的requireRequireJS如何从jam文件包部分指定垫片依赖项,requirejs,amd,jamjs,Requirejs,Amd,Jamjs,我在一个有主干模板的项目中工作,该模板使用RequireJS加载模块,使用JamJS管理模块。 我的requireconfig.js文件如下: require.config({ deps: ["../vendor/jam/require.config", "main"], paths: { "backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage" }, shim
config.js
文件如下:
require.config({
deps: ["../vendor/jam/require.config", "main"],
paths: {
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage"
},
shim: {
"backbone.localStorage": {
deps: ['backbone']
}
}
});
正如您可以从jam配置文件jam/require.config.js
中看到的RequireJS加载配置,它指定了主干、jquery和下划线。接下来是文件的一部分:
"packages": [
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
}
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
}
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
我想要的是在我的config.js
中指定backbone.localStorare库取决于包部分中定义的主干。
另外,如果我按以下方式指定主干路径,则它会找到主干库,但会发现一条错误消息,说明未加载下划线:
require.config({
deps: ["../vendor/jam/require.config", "main"],
paths: {
"backbone": "../vendor/jam/backbone/backbone",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage"
},
shim: {
"backbone.localStorage": {
deps: ['backbone']
}
}
});
我可以使用jamjs添加backbone.localStorage库,但可用软件包的版本很旧,所以我更喜欢手动下载最后一个,并手动包含
任何想法或帮助都将不胜感激。主干网需要:
因此,我认为最好调整jam/require.config.js
编辑:
接下来是问题中的packages
部分,这是jam/require.config.js
的一部分?位置是否相对于jam/require.config.js的位置
您是否尝试在自己的config.js中添加包
部分:
"packages": ["backbone", "backbone.layoutmanager"]
主干网需求:
因此,我认为最好调整jam/require.config.js
编辑:
接下来是问题中的packages
部分,这是jam/require.config.js
的一部分?位置是否相对于jam/require.config.js的位置
您是否尝试在自己的config.js中添加包
部分:
"packages": ["backbone", "backbone.layoutmanager"]
多亏了阿斯哥特,我才能解决这个问题。我把文件放在下面 使用此配置,我可以将垫片库放在我的
config.js
文件中,该文件取决于jam在require.config.js
文件中管理的包
config.js
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
// Packeges defined at jam/require.config.js required by shim libraries
packages: [
{"name" : "backbone"},
{"name" : "jquery"}
],
paths: {
// Put paths here.
"codemirror" : "../vendor/codemirror-3.0/lib/codemirror",
"codemirror-markdown": "../vendor/codemirror-3.0/mode/markdown/markdown",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage",
"bootstrap" : "../vendor/bootstrap-2.2.2/js/bootstrap"
},
shim: {
// Put shims here.
"codemirror-markdown": {
deps: ["codemirror"]
},
"backbone.localStorage": {
deps: ['backbone']
},
"bootstrap": {
deps: ['jquery']
}
}
});
var jam = {
"packages": [
{
"name": "jquery",
"location": "../vendor/jam/jquery",
"main": "jquery.js"
},
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
},
{
"name": "underscore",
"location": "../vendor/jam/underscore",
"main": "underscore.js"
},
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
},
{
"name": "lodash",
"location": "../vendor/jam/lodash",
"main": "./lodash.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
},
"underscore": {
"exports": "_"
},
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
if (typeof require !== "undefined" && require.config) {
require.config({packages: jam.packages, shim: jam.shim});
}
else {
var require = {packages: jam.packages, shim: jam.shim};
}
if (typeof exports !== "undefined" && typeof module !== "undefined") {
module.exports = jam;
}
require.config.js
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
// Packeges defined at jam/require.config.js required by shim libraries
packages: [
{"name" : "backbone"},
{"name" : "jquery"}
],
paths: {
// Put paths here.
"codemirror" : "../vendor/codemirror-3.0/lib/codemirror",
"codemirror-markdown": "../vendor/codemirror-3.0/mode/markdown/markdown",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage",
"bootstrap" : "../vendor/bootstrap-2.2.2/js/bootstrap"
},
shim: {
// Put shims here.
"codemirror-markdown": {
deps: ["codemirror"]
},
"backbone.localStorage": {
deps: ['backbone']
},
"bootstrap": {
deps: ['jquery']
}
}
});
var jam = {
"packages": [
{
"name": "jquery",
"location": "../vendor/jam/jquery",
"main": "jquery.js"
},
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
},
{
"name": "underscore",
"location": "../vendor/jam/underscore",
"main": "underscore.js"
},
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
},
{
"name": "lodash",
"location": "../vendor/jam/lodash",
"main": "./lodash.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
},
"underscore": {
"exports": "_"
},
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
if (typeof require !== "undefined" && require.config) {
require.config({packages: jam.packages, shim: jam.shim});
}
else {
var require = {packages: jam.packages, shim: jam.shim};
}
if (typeof exports !== "undefined" && typeof module !== "undefined") {
module.exports = jam;
}
多亏了阿斯哥特,我才能解决这个问题。我把文件放在下面 使用此配置,我可以将垫片库放在我的
config.js
文件中,该文件取决于jam在require.config.js
文件中管理的包
config.js
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
// Packeges defined at jam/require.config.js required by shim libraries
packages: [
{"name" : "backbone"},
{"name" : "jquery"}
],
paths: {
// Put paths here.
"codemirror" : "../vendor/codemirror-3.0/lib/codemirror",
"codemirror-markdown": "../vendor/codemirror-3.0/mode/markdown/markdown",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage",
"bootstrap" : "../vendor/bootstrap-2.2.2/js/bootstrap"
},
shim: {
// Put shims here.
"codemirror-markdown": {
deps: ["codemirror"]
},
"backbone.localStorage": {
deps: ['backbone']
},
"bootstrap": {
deps: ['jquery']
}
}
});
var jam = {
"packages": [
{
"name": "jquery",
"location": "../vendor/jam/jquery",
"main": "jquery.js"
},
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
},
{
"name": "underscore",
"location": "../vendor/jam/underscore",
"main": "underscore.js"
},
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
},
{
"name": "lodash",
"location": "../vendor/jam/lodash",
"main": "./lodash.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
},
"underscore": {
"exports": "_"
},
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
if (typeof require !== "undefined" && require.config) {
require.config({packages: jam.packages, shim: jam.shim});
}
else {
var require = {packages: jam.packages, shim: jam.shim};
}
if (typeof exports !== "undefined" && typeof module !== "undefined") {
module.exports = jam;
}
require.config.js
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
// Packeges defined at jam/require.config.js required by shim libraries
packages: [
{"name" : "backbone"},
{"name" : "jquery"}
],
paths: {
// Put paths here.
"codemirror" : "../vendor/codemirror-3.0/lib/codemirror",
"codemirror-markdown": "../vendor/codemirror-3.0/mode/markdown/markdown",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage",
"bootstrap" : "../vendor/bootstrap-2.2.2/js/bootstrap"
},
shim: {
// Put shims here.
"codemirror-markdown": {
deps: ["codemirror"]
},
"backbone.localStorage": {
deps: ['backbone']
},
"bootstrap": {
deps: ['jquery']
}
}
});
var jam = {
"packages": [
{
"name": "jquery",
"location": "../vendor/jam/jquery",
"main": "jquery.js"
},
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
},
{
"name": "underscore",
"location": "../vendor/jam/underscore",
"main": "underscore.js"
},
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
},
{
"name": "lodash",
"location": "../vendor/jam/lodash",
"main": "./lodash.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
},
"underscore": {
"exports": "_"
},
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
if (typeof require !== "undefined" && require.config) {
require.config({packages: jam.packages, shim: jam.shim});
}
else {
var require = {packages: jam.packages, shim: jam.shim};
}
if (typeof exports !== "undefined" && typeof module !== "undefined") {
module.exports = jam;
}
是的,我知道这种依赖。我想知道的是,是否有一种方法可以指定程序包部分中指定的垫片依赖项。感谢上次更新帮助我。我还回答了我最后写的两个文件。是的,我知道这种依赖关系。我想知道的是,是否有一种方法可以指定程序包部分中指定的垫片依赖项。感谢上次更新帮助我。我还做了一个回答,以显示我最终编写的两个文件。