requirejs可以用于此吗?

requirejs可以用于此吗?,requirejs,Requirejs,我有一个简单的索引页面,它使用了一些js文件,包括来自CDN的jquery和下划线。 为了学习,我想设置requirejs来管理脚本 文件夹结构: exampleApp -js -foo.js -main.js -require.js -index.html 索引,注意foo是foo.js中的一个函数: <script data-main="js/main" src="js/requirejs-2.1.9.js"></script&

我有一个简单的索引页面,它使用了一些js文件,包括来自CDN的jquery和下划线。 为了学习,我想设置requirejs来管理脚本

文件夹结构:

exampleApp
   -js
     -foo.js
     -main.js
     -require.js
   -index.html
索引,注意foo是foo.js中的一个函数:

 <script data-main="js/main" src="js/requirejs-2.1.9.js"></script>


<body>
 <button onclick='foo()'>Click me</button>
</body>

在我的foo.js中,我使用jquery,使用$,使用下划线,因此如果可能的话,我希望维护这些符号。

标题中问题的答案是肯定的。是不是有什么特别的东西给你带来了问题?请注意,您必须传递一个字符串数组作为require.thx的第一个参数,我添加了字符串键入,并添加了垫片。我没有看到错误,只是索引中的按钮不起作用,onclick…我只是让foo将字符串输出到控制台。它在没有requirejs的情况下工作,所以我尝试让它与requirejs一起工作。您的代码看起来不错。显示foo.js代码。问题更可能存在。当从模块foo通过RequireJS函数foo加载时,全局对象(即window.foo)中未显示foo,您的控制台中可能会出现JS错误类似的问题:。foo.js也可能有问题;你是说它在没有requirejs的情况下工作JS:它甚至是AMD模块吗?它是从定义开始的吗?
requirejs.config({

baseUrl: 'js',
paths: {
    jquery      : '//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js',
    underscore  : '//cdn.jsdelivr.net/underscorejs/1.5.2/underscore-min.js',
    foo         : 'foo'
},
shim: {
    jquery: {
        exports: '$'
    },
    underscore: {
        exports: '_'
    }
}

});

requirejs(['jquery', 'underscore', 'foo'], function($, _, foo){

});