Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 来自grunt-contrib-requirejs的Shim不包装库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用requirejs并配置我的产品工件,因此组合我的库并在它们之间设置模块依赖关系以使用requirejs的grunt任务获得适当的加载序列.在我的livereload服务器中使用运行时模块注入没有问题,它可以访问非组合库.为了清楚起见,我禁用了所有缩小/丑化并开启了js-beautify.

requirejs: {
        dist: {
            // Options: https://github.com/jrburke/r.js/blob/master/build/example.build.js
            options: {
                // `name` and `out` is set by grunt-usemin
                // name: 'App',baseUrl: yeomanConfig.app + '/scripts',mainConfigFile: yeomanConfig.app + '/scripts/config.js',out: yeomanConfig.dist + '/scripts/main.js',optimize: 'none',// TODO: figure out how to make sourcemaps work with grunt-usemin
                // https://github.com/yeoman/grunt-usemin/issues/30
                //generatesourceMaps: true,// required to support sourceMaps
                // http://requirejs.org/docs/errors.html#sourcemapcomments
                beautify: false,removeCombined: false,generatesourceMaps: false,preserveLicenseComments: false,useStrict: true,mangle: false,compress: false,// wrap: true,// https://github.com/mishoo/uglifyjs2
            }
        }
    },

我正在使用Kendo,Angular和Angular-Keno-UI.我知道Kendo是AMD模块就绪,但它看起来不像Angular-Keno-UI.我期望创建一个垫片并将其包装在相应的requirejs define@L_673_9@中,但是我发现这不会发生.

require.config({
        cjsTranslate: true,paths: {
            jquery: 'vendor/jquery/jquery','angular-kendo-ui': 'vendor/angular-kendo-ui/build/angular-kendo',kendo: 'vendor/kendoui.complete.2013.2.918.trial/js/kendo.all.min',angular: 'vendor/angular/angular',requirejs: 'vendor/requirejs/require','angular-animate': 'vendor/angular-animate/angular-animate','angular-ui-router': 'vendor/angular-ui-router/release/angular-ui-router.min','angular-resource': 'vendor/angular-resource/angular-resource'
        },shim: {
            jquery: {
                exports: '$'
            },angular: {
                deps: [
                    'jquery'
                ],exports: 'angular'
            },'angular-resource': {
                deps: [
                    'angular'
                ]
            },'angular-kendo-ui': {
                deps: [
                    'angular','kendo'
                ]
            },'angular-ui-router': {
                deps: [
                    'angular'
                ]
            }
        }
    });

为了解决模块准备不足的问题,我自己包装:

define('angular-kendo-ui',[
        'angular','kendo'
      ],function (
        angular,kendo
      ) {
        < original angular-kendo-ui source >
    });

我误解了垫片的应用吗?它似乎我有它并没有实际包装定义的路径,而只是指向它如果请求模块(这在动态模块加载中很好)

在我最初审查这些技术的过程中,我注意到有一种方法可以让requirejs(或我管道中的一个资产变换器)自动为我包装模块.任何人都有我的提示,我认为这是requirejs将配置中定义的模块包装为路径,但也许我错了.下面是正在运行的任务的打印输出

Done,without errors.

    Elapsed time
    build                          887ms
    useminPrepare:html             22ms
    concurrent:dist                8s
    autoprefixer:dist              174ms
    requirejs:dist                 19s
    jsbeautifier:dist              2s
    concat:public/styles/main.css  46ms
    concat:public/scripts/main.js  56ms
    cssmin:public/styles/main.css  81ms
    copy:dist                      26ms
    usemin:html                    5s
    usemin:css                     24s

解决方法

这只是一个疯狂的猜测(取决于你的优化器版本),但是 – 不那么酷 – 配置文档在这里陈述:

所以也许使用:

wrapShim: true

https://github.com/jrburke/r.js/blob/master/build/example.build.js

因为你使用“R_653_11845@ainConfigFile”,shim配置应该已经在优化器中,这通常是另一个失败点.

大佬总结

以上是大佬教程为你收集整理的angularjs – 来自grunt-contrib-requirejs的Shim不包装库全部内容,希望文章能够帮你解决angularjs – 来自grunt-contrib-requirejs的Shim不包装库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。