使用grunt构建生成的dist文件夹不起作用

时间:2016-01-28 11:01:38

标签: javascript angularjs node.js build gruntjs

我正在开发一个使用yeoman创建的角度应用程序,分别使用grunt和bower任务执行和依赖项管理。

当我使用 grunt serve 运行应用程序时,应用程序运行正常,但是当我尝试使用grunt serve:dist运行应用程序进行部署时,我在控制台上收到此错误: -

  

http://localhost:9000/dist/views/pages/login.html未找到404

它进入无限循环。我还在此处附加了浏览器控制台屏幕截图Firefox Console error

有人可以指导我作为错误或从哪里开始调试,因为我对角度,凉亭,咕噜声和节点都很新。

如果需要其他任何内容,请告诉我

grunt serve --verbose output

E:\workspaces\scfs\sentinal>grunt serve --verbose Initializing Command-line options: --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks. Initializing config...OK Loading "Gruntfile.js" tasks...OK
+ build, default, serve, server, test

Running tasks: serve

Running "serve" task

Loading "grunt-contrib-clean" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-contrib-clean\tasks" tasks. Loading "clean.js" tasks...OK
+ clean

Running "clean:server" (clean) task Verifying property clean.server exists in config...OK Files: .tmp -> server Options: force=false, no-write=false Cleaning .tmp...
>> 1 path cleaned.

Loading "grunt-wiredep" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-wiredep\tasks" tasks. Loading "wiredep.js" tasks...OK
+ wiredep

Running "wiredep" task

Running "wiredep:app" (wiredep) task Verifying property wiredep.app exists in config...OK Files: scfs/index.html Verifying property wiredep.app.src exists in config...OK Options: src=["scfs/index.html"], ignorePath={}

Running "wiredep:test" (wiredep) task Verifying property wiredep.test exists in config...OK Files: test/karma.conf.js Verifying property wiredep.test.src exists in config...OK Options: devDependencies, src="test/karma.conf.js", ignorePath={}, fileTypes={"js":{"block":{},"detect":{"js":{}},"replace":{"js":"'{{filePath}}',"}}}

Loading "grunt-concurrent" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-concurrent\tasks" tasks. Loading "concurrent.js" tasks...OK
+ concurrent

Running "concurrent:server" (concurrent) task Verifying property concurrent.server exists in config...OK Files: [no src] -> server Options: limit=8

Initializing Command-line options: --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks. Initializing config...OK Loading "Gruntfile.js" tasks...OK
+ build, default, serve, server, test

Running tasks: copy:styles

Loading "grunt-contrib-copy" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-contrib-copy\tasks" tasks. Loading "copy.js" tasks...OK
+ copy

Running "copy:styles" (copy) task Verifying property copy.styles exists in config...OK Files: scfs/styles/main.css -> .tmp/styles/main.css Files: scfs/styles/sb-admin-2.css -> .tmp/styles/sb-admin-2.css Files: scfs/styles/timeline.css -> .tmp/styles/timeline.css Options: encoding="utf8", processContent=false, processContentExclude=[], timestamp=false, mode=false Copying scfs/styles/main.css -> .tmp/styles/main.css Reading scfs/styles/main.css...OK Writing .tmp/styles/main.css...OK Copying scfs/styles/sb-admin-2.css -> .tmp/styles/sb-admin-2.css Reading scfs/styles/sb-admin-2.css...OK Writing .tmp/styles/sb-admin-2.css...OK Copying scfs/styles/timeline.css -> .tmp/styles/timeline.css Reading scfs/styles/timeline.css...OK Writing .tmp/styles/timeline.css...OK Copied 3 files

Done, without errors.


Execution Time (2016-01-28 13:01:14 UTC) loading tasks               318ms  ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ 45% loading grunt-contrib-copy  301ms  ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ 43% copy:styles                  83ms  ¦¦¦¦¦ 12% Total 703ms

Loading "grunt-postcss" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-postcss\tasks" tasks. Loading "postcss.js" tasks...OK
+ postcss

Running "postcss:server" (postcss) task Verifying property postcss.server exists in config...OK Files: .tmp/styles/main.css -> .tmp/styles/main.css Files: .tmp/styles/sb-admin-2.css -> .tmp/styles/sb-admin-2.css Files: .tmp/styles/timeline.css -> .tmp/styles/timeline.css Options: processors=[null], map, diff=false, safe=false Reading .tmp/styles/main.css...OK Reading .tmp/styles/sb-admin-2.css...OK Reading .tmp/styles/timeline.css...OK Writing .tmp/styles/main.css...OK File .tmp/styles/main.css created. Writing .tmp/styles/sb-admin-2.css...OK File .tmp/styles/sb-admin-2.css created. Writing .tmp/styles/timeline.css...OK File .tmp/styles/timeline.css created.
>> 3 processed stylesheets created.

Loading "grunt-contrib-connect" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-contrib-connect\tasks" tasks. Loading "connect.js" tasks...OK
+ connect

Running "connect:livereload" (connect) task Verifying property connect.livereload exists in config...OK File: [no files] Options: protocol="http", port=9000, hostname="localhost", base=".", directory=null, keepalive=false, debug=false, livereload=35729, open, useAvailablePort=false, onCreateServer=null, middleware=undefined Started connect web server on http://localhost:9000

Loading "grunt-contrib-watch" plugin

Registering "E:\workspaces\scfs\sentinal\node_modules\grunt-contrib-watch\tasks" tasks. Loading "watch.js" tasks...OK
+ watch

Running "watch" task Waiting... Verifying property watch exists in config...OK Verifying property watch.bower.files exists in config...OK Verifying property watch.js.files exists in config...OK Verifying property watch.jsTest.files exists in config...OK Verifying property watch.styles.files exists in config...OK Verifying property watch.gruntfile.files exists in config...OK Verifying property watch.livereload.files exists in config...OK Live reload server started on port: 35729 Watching bower.json for changes. Watching .tmp for changes. Watching bower_components for changes. Watching dist for changes. Watching node_modules for changes. Watching scfs for changes. Watching test for changes. Watching scfs\scripts\app.js for changes. Watching scfs\scripts\controllers for changes. Watching scfs\scripts\directives for changes. Watching scfs\scripts\services for changes. Watching scfs\scripts\shared for changes. Watching scfs\scripts\app1.js for changes. Watching scfs\scripts\constants.js for changes. Watching scfs\scripts\controllers\chartContoller.js for changes. Watching scfs\scripts\controllers\dashboard for changes. Watching scfs\scripts\controllers\user for changes. Watching scfs\scripts\controllers\form.js for changes. Watching scfs\scripts\controllers\login.js for changes. Watching scfs\scripts\services\auth.resolver.js for changes. Watching scfs\scripts\services\authentication.service.js for changes. Watching scfs\scripts\services\datatable.service.js for changes. Watching scfs\scripts\services\map.service.js for changes. Watching scfs\scripts\services\user.service.js for changes. Watching scfs\scripts\shared\flash.service.js for changes. Watching scfs\scripts\shared\session.js for changes. Watching test\spec\controllers\about.js for changes. Watching test\spec\controllers\main.js for changes. Watching scfs\styles\main.css for changes. Watching scfs\styles\sb-admin-2.css for changes. Watching scfs\styles\timeline.css for changes. Watching Gruntfile.js for changes. Watching .tmp for changes. Watching bower_components for changes. Watching dist for changes. Watching node_modules for changes. Watching scfs for changes. Watching test for changes. Watching scfs\404.html for changes. Watching scfs\bower_components for changes. Watching scfs\images for changes. Watching scfs\js for changes. Watching scfs\scripts for changes. Watching scfs\styles for changes. Watching scfs\views for changes. Watching scfs\index.html for changes. Watching scfs\views\chart.html for changes. Watching scfs\views\dashboard for changes. Watching scfs\views\drivers for changes. Watching scfs\views\pages for changes. Watching scfs\views\settings for changes. Watching scfs\views\ui-elements for changes. Watching scfs\views\unit for changes. Watching scfs\views\user for changes. Watching scfs\views\userType for changes. Watching scfs\views\vehicle for changes. Watching scfs\views\form.html for changes.

GruntFile.js连接配置: -

connect: {
  options: {
    port: 9000,
    // Change this to '0.0.0.0' to access the server from outside.
    hostname: 'localhost',
    livereload: 35729
  },
  livereload: {
    options: {
      open: true,
      middleware: function (connect) {
        return [
          connect.static('.tmp'),
          connect().use(
            '/bower_components',
            connect.static('./bower_components')
          ),
          connect().use(
            '/app/styles',
            connect.static('./app/styles')
          ),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  test: {
    options: {
      port: 9001,
      middleware: function (connect) {
        return [
          connect.static('.tmp'),
          connect.static('test'),
          connect().use(
            '/bower_components',
            connect.static('./bower_components')
          ),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  dist: {
    options: {
      open: true,
      base: '<%= yeoman.dist %>'
    }
  }
}

2 个答案:

答案 0 :(得分:1)

尝试执行 grunt 命令,无需任何操作

答案 1 :(得分:0)

我已经能够找出问题所在。实际上,每当javascript代码中出现错误时, $ templateCache (包含所有html模板)都不会被填充。由于我正在使用chrome并且由于应用程序的实时重新加载,我无法查看原始错误,因为login.html html页面的连续点击使得Chrome浏览器无法使用并且原始错误会在javascript控制台日志中回落。

现在,当我在firefox中运行dist文件夹构建时,我能够看到错误几秒钟,然后它又回到了这里。在解决该错误时,应用程序运行良好。

错误实际上是依赖注入的问题,在我的一个服务文件中没有正确完成,在 grunt build 缩小任务期间没有正确解释并出错在申请开始时。

希望这有助于某人!!