简体   繁体   English

运行gulp:dist时发生模块错误

[英]Module error while running gulp:dist

I configured gulp for my app. 我为我的应用程序配置了gulp。

While running with gulp serve everything fine. 用gulp运行时,一切都很好。

But when I run with gulp serve:dist 但是当我用gulp serve:dist运行时

I am getting below error 我低于错误

Uncaught Error: [$injector:modulerr] Failed to instantiate module xxx due to:
Error: [$injector:nomod] Module 'xxx' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

Please help me on this 请帮我

my gulp file is below 我的gulp文件在下面

/**
*  Welcome to your gulpfile!
*  The gulp tasks are splitted in several files in the gulp directory
*  because putting all here was really too long
*/

'use strict';

var gulp = require('gulp');
var wrench = require('wrench');

/**
*  This will load all js or coffee files in the gulp directory
*  in order to load all gulp tasks
*/
wrench.readdirSyncRecursive('./gulp').filter(function(file) {
return (/\.(js|coffee)$/i).test(file);
}).map(function(file) {
 require('./gulp/' + file);
});


/**
 *  Default task clean temporaries directories and launch the
 *  main optimization build task
 */
gulp.task('default', ['clean'], function () {
  gulp.start('build');
});

and my build.js file in gulp folder 和我的build.js文件在gulp文件夹中

'use strict';

var path = require('path');
var gulp = require('gulp');
var conf = require('./conf');

var $ = require('gulp-load-plugins')({
    pattern: ['gulp-*', 'main-bower-files', 'uglify-save-license', 'del']
});

gulp.task('partials', function () {
    return gulp.src([
        path.join(conf.paths.src, '/app/**/*.html'),
        path.join(conf.paths.tmp, '/serve/app/**/*.html')
    ])
    .pipe($.minifyHtml({
        empty: true,
        spare: true,
        quotes: true
    }))
    .pipe($.angularTemplatecache('templateCacheHtml.js', {
        module: 'xxx',
        root: 'app',
        templateHeader: '(function() { angular.module("<%= module %>"<%= standalone %>).run(["$templateCache", function($templateCache) {',
        templateFooter: '}]);})();'
    }))
    .pipe(gulp.dest(conf.paths.tmp + '/partials/'));
 });

 gulp.task('html', ['inject', 'partials'], function () {
      var partialsInjectFile = gulp.src(path.join(conf.paths.tmp, '/partials/templateCacheHtml.js'), { read: false });
  var partialsInjectOptions = {
      starttag: '<!-- inject:partials -->',
      ignorePath: path.join(conf.paths.tmp, '/partials'),
      addRootSlash: false
  };

  var htmlFilter = $.filter('*.html', { restore: true });
  var jsFilter = $.filter('**/*.js', { restore: true });
  var cssFilter = $.filter('**/*.css', { restore: true });
  var assets;

  return gulp.src(path.join(conf.paths.tmp, '/serve/*.html'))
     .pipe($.inject(partialsInjectFile, partialsInjectOptions))
     .pipe(assets = $.useref.assets())
     .pipe($.rev())
     .pipe(jsFilter)
     .pipe($.sourcemaps.init())
     .pipe($.ngAnnotate())
     .pipe($.uglify({ preserveComments: $.uglifySaveLicense })).on('error',     conf.errorHandler('Uglify'))
     .pipe($.sourcemaps.write('maps'))
     .pipe(jsFilter.restore)
     .pipe(cssFilter)
     .pipe($.sourcemaps.init())
     .pipe($.replace('../../bower_components/material-design-iconfont/iconfont/', '../fonts/'))
     .pipe($.minifyCss({ processImport: false }))
     .pipe($.sourcemaps.write('maps'))
     .pipe(cssFilter.restore)
     .pipe(assets.restore())
     .pipe($.useref())
     .pipe($.revReplace())
     .pipe(htmlFilter)
     .pipe($.minifyHtml({
          empty: true,
          spare: true,
          quotes: true,
          conditionals: true
      }))
     .pipe(htmlFilter.restore)
     .pipe(gulp.dest(path.join(conf.paths.dist, '/')))
     .pipe($.size({ title: path.join(conf.paths.dist, '/'), showFiles: true              }));
   });

   // Only applies for fonts from bower dependencies
   // Custom fonts are handled by the "other" task
   gulp.task('fonts', function () {
   return gulp.src($.mainBowerFiles().concat('bower_components/material-design-iconfont/iconfont/*'))
     .pipe($.filter('**/*.{eot,svg,ttf,woff,woff2}'))
     .pipe($.flatten())
     .pipe(gulp.dest(path.join(conf.paths.dist, '/fonts/')));
   });

   gulp.task('other', function () {
       var fileFilter = $.filter(function (file) {
       return file.stat.isFile();
   });

   return gulp.src([
       path.join(conf.paths.src, '/**/*'),
       path.join('!' + conf.paths.src, '/**/*.{html,css,js}')
   ])
   .pipe(fileFilter)
   .pipe(gulp.dest(path.join(conf.paths.dist, '/')));
 });

 gulp.task('clean', function () {
     return $.del([path.join(conf.paths.dist, '/'), path.join(conf.paths.tmp,     '/')]);
 });

 gulp.task('build', ['html', 'fonts', 'other']);

You issue seems to be similar with what i have faced. 您的问题似乎与我所面临的相似。 Try to check your js file where you have defined your routeConfig. 尝试检查已定义routeConfig的js文件。 It may be missing some required function. 它可能缺少某些必需的功能。

Or check @ngInject annotation which is used for injections. 或检查用于注射的@ngInject批注。 May be you are missing or commented a function with this annotation by mistake. 可能是您丢失或错误地注释了带有此批注的函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM