require引入jquery依赖时,gulp插件amd-optimize总是出错?

发布于 2022-09-04 00:40:54 字数 1121 浏览 14 评论 0

require引入jquery依赖时,gulp插件amd-optimize总是出错?


events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: No file for module 'jquery' found.
    at c:\home\home\jia-ui\node_modules\amd-optimize\lib\trace.js:145:29
    at fn (c:\home\home\jia-ui\node_modules\amd-optimize\node_modules\async\lib\async.js:582:34)
    at Immediate._onImmediate (c:\home\home\jia-ui\node_modules\amd-optimize\node_modules\async\lib\async.js:498:34)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

主入口js:

requirejs.config({
    baseUrl:"/",
    paths:{
        "jquery":'./../../../node_modules/jquery/jquery'
    }
});

require(['jquery'],function($){
  console.log("jquery")
});

gulpfile.js

gulp.task("js", function () {
    return gulp.src("./src/assets/js/*.js")
        .pipe(amdOptimize("common")
        )
        .pipe(concat("common.js"))
        .pipe(gulp.dest("./dist/js/"));

});

html

<script data-main="src/assets/js/common" src="/dist/js/require.js"></script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手心的海 2022-09-11 00:40:55

官方文档有介绍怎么把jQuery这种库文件封装成依赖,可以参考以下配置:
`require.config({

        baseUrl: 'app/',
        paths: {
            'jQuery': 'vender/jquery/dist/jquery',
            'underscore': 'vender/underscore/underscore',
            'Backbone': 'vender/backbone/backbone',
            'text': 'vender/text/text',
            'bootstrap': 'vender/bootstrap/dist/js/bootstrap'
        },
        shim: {
            'jQuery': {
                exports: '

通过shim形成依赖之后,就可以简单的引用了
define(['Backbone'], function(Backbone){})
注意,backbone已经依赖于jQuery,所以加载backbone首先会去加载jQuery,直接在回调函数中使用$就行。
以上官方文档都有提到,建议仔细看一下官方文档

}, 'underscore': { exports: '_' }, 'Backbone': { deps: ['jQuery', 'underscore'], exports: 'Backbone' }, 'bootstrap': { deps: ['jQuery'] } } });`

通过shim形成依赖之后,就可以简单的引用了
define(['Backbone'], function(Backbone){})
注意,backbone已经依赖于jQuery,所以加载backbone首先会去加载jQuery,直接在回调函数中使用$就行。
以上官方文档都有提到,建议仔细看一下官方文档

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文