2012-09-05 64 views
0

我目前正在使用YepNope.js加载我的css/javascript文件。我想知道是否有任何方法在初始过程中为脚本提供变量名称。例如:有没有办法给YepNope.js脚本赋予动态名称?

yepnope({ 
    test : Modernizr.csstransforms, 
    yep : ['MyCSS', 'jQuery'] 
    nope : ['MyCSS2'] 
}); 

// Where 'MyCSS' = '/css/mycss.css' | 'jQuery' = '/scripts/jquery.min.js' 
// 'MyCSS2' = '/css/mycss2.css 

我有一个开发团队,都将使用同一组脚本,并希望尽可能简单地处理。必须追踪脚本路径可能会比简单的名称分配耗费时间。

我希望能够定义具有分配给它们的实际脚本的值是YepNope.js会解释,而不开发商不必变量赋值添加到他们的项目代码的变量名的列表:

{ 'MyCSS': '/css/mycss.css', 'jQuery', '/scripts/jquery.min.js' } 

通过这种方式,当开发人员将他们的脚本文件添加到他们的项目中时,他们不必追踪指定文件的所有路径。

+0

我不知道你要问什么。 yep是一个字符串数组,nope是一个字符串数组。你不需要内联指定它。 – SoonDead

+0

不,不要问任何关于内联的问题。稍微重新定义了这个问题,希望能够更容易理解。基本上希望能够在初始化时使用变量名代替文件路径。 – voodooGQ

+0

部分地,我在答案中添加了一条评论。 – voodooGQ

回答

1

这是你需要什么?

var yeps = ['/css/mycss.css','/scripts/jquery.min.js']; 
var nopes = ['/css/mycss2.css']; 

yepnope({ 
    test : Modernizr.csstransforms, 
    yep : yeps, 
    nope : nopes 
}); 

var myCSSpath= '/css/mycss.css', 
    jQpath = '/scripts/jquery.min.js', 
    myCSS2path = '/css/mycss2.css'; 

yepnope({ 
    test : Modernizr.csstransforms, 
    yep : [myCSSpath, jQpath], 
    nope : [myCSS2path] 
}); 

编辑:所以你要把变量赋值到不同的文件?

做出yepnope.variables.js

<script src="path/yepnope.js"></script> 
<script src="path/yepnope.variables.js"></script> 

<script> 
yepnope({ 
    test : Modernizr.csstransforms, 
    yep : [myCSSpath, jQpath], 
    nope : [myCSS2path] 
}); 
</script> 

和JS文件中:

var myCSSpath= '/css/mycss.css', 
    jQpath = '/scripts/jquery.min.js', 
    myCSS2path = '/css/mycss2.css'; 
+0

第二个基本上是我需要的,但我需要能够在加载YepNope之前做到这一点。我不希望开发人员必须将这些定义放入实际的代码中。用YepNope本身加载它 – voodooGQ

+0

哇....似乎很明显我不相信我错过了它。正是我在找什么。谢谢! – voodooGQ

+0

我有点惊讶,你要求一个方法给长字符串的短名称。 – SoonDead

相关问题