简体   繁体   English

咕serve服务yo发电机角度显示页面不完整

[英]Grunt serve yo generator angular shows incomplete page

I just installed yo and created a app using the generator-angular . 我刚刚安装yo并使用generator-angular创建了一个应用程序。 After it is done downloading, I ran grunt serve . 下载完成后,我开始grunt serve It shows me a page which is incomplete. 它显示的页面不完整。 I checked the browser console and it showed this: 我检查了浏览器控制台,它显示了这一点:

SyntaxError: unterminated string literal angular.js:28826:87
TypeError: angular is undefined angular-animate.js:9:4
TypeError: angular is undefined angular-cookies.js:24:0
TypeError: angular is undefined angular-resource.js:8:4
TypeError: angular is undefined angular-route.js:24:4
TypeError: angular is undefined angular-sanitize.js:19:4
ReferenceError: angular is not defined app.js:11:0
ReferenceError: angular is not defined main.js:10:0
ReferenceError: angular is not defined about.js:10:0
The connection to ws://localhost:35729/livereload was interrupted while the page was loading. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
The connection to ws://localhost:35729/livereload was interrupted while the page was loading. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
 Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
 Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
 Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
 Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0
 Firefox can't establish a connection to the server at ws://localhost:35729/livereload. livereload.js:191:0

The terminal showed this: 终端显示以下内容:

Running "serve" task

Running "clean:server" (clean) task
>> 1 path cleaned.

Running "wiredep:app" (wiredep) task

Running "wiredep:test" (wiredep) task

Running "concurrent:server" (concurrent) task

Running "copy:styles" (copy) task
Copied 1 file

Done, without errors.


Execution Time (2015-09-19 06:20:08 UTC)
loading tasks               14ms  ████████ 22%
loading grunt-contrib-copy  30ms  ████████████████ 46%
copy:styles                 21ms  ███████████ 32%
Total 65ms

Running "autoprefixer:server" (autoprefixer) task
Autoprefixer's process() method is deprecated and will removed in next major release. Use postcss([autoprefixer]).process() instead
File .tmp/styles/main.css created.

Running "connect:livereload" (connect) task
Started connect web server on http://localhost:9000

Running "watch" task
Waiting...

I don't know whats wrong. 我不知道怎么了

This is how the page looks: 页面外观如下:

在此处输入图片说明

EDIT: Grunt.js file 编辑: Grunt.js文件

 // Generated on 2015-09-18 using generator-angular 0.12.1 'use strict'; // # Globbing // for performance reasons we're only matching one level down: // 'test/spec/{,*/}*.js' // use this if you want to recursively match all subfolders: // 'test/spec/**/*.js' module.exports = function (grunt) { // Time how long tasks take. Can help when optimizing build times require('time-grunt')(grunt); // Automatically load required Grunt tasks require('jit-grunt')(grunt, { useminPrepare: 'grunt-usemin', ngtemplates: 'grunt-angular-templates', cdnify: 'grunt-google-cdn' }); // Configurable paths for the application var appConfig = { app: require('./bower.json').appPath || 'app', dist: 'dist' }; // Define the configuration for all the tasks grunt.initConfig({ // Project settings yeoman: appConfig, // Watches files for changes and runs tasks based on the changed files watch: { bower: { files: ['bower.json'], tasks: ['wiredep'] }, js: { files: ['<%= yeoman.app %>/scripts/{,*/}*.js'], tasks: ['newer:jshint:all'], options: { livereload: '<%= connect.options.livereload %>' } }, jsTest: { files: ['test/spec/{,*/}*.js'], tasks: ['newer:jshint:test', 'karma'] }, styles: { files: ['<%= yeoman.app %>/styles/{,*/}*.css'], tasks: ['newer:copy:styles', 'autoprefixer'] }, gruntfile: { files: ['Gruntfile.js'] }, livereload: { options: { livereload: '<%= connect.options.livereload %>' }, files: [ '<%= yeoman.app %>/{,*/}*.html', '.tmp/styles/{,*/}*.css', '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' ] } }, // The actual grunt server settings 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 %>' } } }, // Make sure code styles are up to par and there are no obvious mistakes jshint: { options: { jshintrc: '.jshintrc', reporter: require('jshint-stylish') }, all: { src: [ 'Gruntfile.js', '<%= yeoman.app %>/scripts/{,*/}*.js' ] }, test: { options: { jshintrc: 'test/.jshintrc' }, src: ['test/spec/{,*/}*.js'] } }, // Empties folders to start fresh clean: { dist: { files: [{ dot: true, src: [ '.tmp', '<%= yeoman.dist %>/{,*/}*', '!<%= yeoman.dist %>/.git{,*/}*' ] }] }, server: '.tmp' }, // Add vendor prefixed styles autoprefixer: { options: { browsers: ['last 1 version'] }, server: { options: { map: true, }, files: [{ expand: true, cwd: '.tmp/styles/', src: '{,*/}*.css', dest: '.tmp/styles/' }] }, dist: { files: [{ expand: true, cwd: '.tmp/styles/', src: '{,*/}*.css', dest: '.tmp/styles/' }] } }, // Automatically inject Bower components into the app wiredep: { app: { src: ['<%= yeoman.app %>/index.html'], ignorePath: /\\.\\.\\// }, test: { devDependencies: true, src: '<%= karma.unit.configFile %>', ignorePath: /\\.\\.\\//, fileTypes:{ js: { block: /(([\\s\\t]*)\\/{2}\\s*?bower:\\s*?(\\S*))(\\n|\\r|.)*?(\\/{2}\\s*endbower)/gi, detect: { js: /'(.*\\.js)'/gi }, replace: { js: '\\'{{filePath}}\\',' } } } } }, // Renames files for browser caching purposes filerev: { dist: { src: [ '<%= yeoman.dist %>/scripts/{,*/}*.js', '<%= yeoman.dist %>/styles/{,*/}*.css', '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', '<%= yeoman.dist %>/styles/fonts/*' ] } }, // Reads HTML for usemin blocks to enable smart builds that automatically // concat, minify and revision files. Creates configurations in memory so // additional tasks can operate on them useminPrepare: { html: '<%= yeoman.app %>/index.html', options: { dest: '<%= yeoman.dist %>', flow: { html: { steps: { js: ['concat', 'uglifyjs'], css: ['cssmin'] }, post: {} } } } }, // Performs rewrites based on filerev and the useminPrepare configuration usemin: { html: ['<%= yeoman.dist %>/{,*/}*.html'], css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'], options: { assetsDirs: [ '<%= yeoman.dist %>', '<%= yeoman.dist %>/images', '<%= yeoman.dist %>/styles' ], patterns: { js: [[/(images\\/[^''""]*\\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']] } } }, // The following *-min tasks will produce minified files in the dist folder // By default, your `index.html`'s <!-- Usemin block --> will take care of // minification. These next options are pre-configured if you do not wish // to use the Usemin blocks. // cssmin: { // dist: { // files: { // '<%= yeoman.dist %>/styles/main.css': [ // '.tmp/styles/{,*/}*.css' // ] // } // } // }, // uglify: { // dist: { // files: { // '<%= yeoman.dist %>/scripts/scripts.js': [ // '<%= yeoman.dist %>/scripts/scripts.js' // ] // } // } // }, // concat: { // dist: {} // }, imagemin: { dist: { files: [{ expand: true, cwd: '<%= yeoman.app %>/images', src: '{,*/}*.{png,jpg,jpeg,gif}', dest: '<%= yeoman.dist %>/images' }] } }, svgmin: { dist: { files: [{ expand: true, cwd: '<%= yeoman.app %>/images', src: '{,*/}*.svg', dest: '<%= yeoman.dist %>/images' }] } }, htmlmin: { dist: { options: { collapseWhitespace: true, conservativeCollapse: true, collapseBooleanAttributes: true, removeCommentsFromCDATA: true }, files: [{ expand: true, cwd: '<%= yeoman.dist %>', src: ['*.html'], dest: '<%= yeoman.dist %>' }] } }, ngtemplates: { dist: { options: { module: 'zeekApp', htmlmin: '<%= htmlmin.dist.options %>', usemin: 'scripts/scripts.js' }, cwd: '<%= yeoman.app %>', src: 'views/{,*/}*.html', dest: '.tmp/templateCache.js' } }, // ng-annotate tries to make the code safe for minification automatically // by using the Angular long form for dependency injection. ngAnnotate: { dist: { files: [{ expand: true, cwd: '.tmp/concat/scripts', src: '*.js', dest: '.tmp/concat/scripts' }] } }, // Replace Google CDN references cdnify: { dist: { html: ['<%= yeoman.dist %>/*.html'] } }, // Copies remaining files to places other tasks can use copy: { dist: { files: [{ expand: true, dot: true, cwd: '<%= yeoman.app %>', dest: '<%= yeoman.dist %>', src: [ '*.{ico,png,txt}', '.htaccess', '*.html', 'images/{,*/}*.{webp}', 'styles/fonts/{,*/}*.*' ] }, { expand: true, cwd: '.tmp/images', dest: '<%= yeoman.dist %>/images', src: ['generated/*'] }, { expand: true, cwd: 'bower_components/bootstrap/dist', src: 'fonts/*', dest: '<%= yeoman.dist %>' }] }, styles: { expand: true, cwd: '<%= yeoman.app %>/styles', dest: '.tmp/styles/', src: '{,*/}*.css' } }, // Run some tasks in parallel to speed up the build process concurrent: { server: [ 'copy:styles' ], test: [ 'copy:styles' ], dist: [ 'copy:styles', 'imagemin', 'svgmin' ] }, // Test settings karma: { unit: { configFile: 'test/karma.conf.js', singleRun: true } } }); grunt.registerTask('serve', 'Compile then start a connect web server', function (target) { if (target === 'dist') { return grunt.task.run(['build', 'connect:dist:keepalive']); } grunt.task.run([ 'clean:server', 'wiredep', 'concurrent:server', 'autoprefixer:server', 'connect:livereload', 'watch' ]); }); grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) { grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.'); grunt.task.run(['serve:' + target]); }); grunt.registerTask('test', [ 'clean:server', 'wiredep', 'concurrent:test', 'autoprefixer', 'connect:test', 'karma' ]); grunt.registerTask('build', [ 'clean:dist', 'wiredep', 'useminPrepare', 'concurrent:dist', 'autoprefixer', 'ngtemplates', 'concat', 'ngAnnotate', 'copy:dist', 'cdnify', 'cssmin', 'uglify', 'filerev', 'usemin', 'htmlmin' ]); grunt.registerTask('default', [ 'newer:jshint', 'test', 'build' ]); }; 

can you send me the grunt.js file. 你能发给我grunt.js文件吗?

That basically happens when minification and combining of the js files is not properly happening via grunt tasks. 当通过grunt任务无法正确进行js文件的缩小和合并时,基本上会发生这种情况。

grunt.js file can give me some idea. grunt.js文件可以给我一些想法。

--Response after reviewing grunt.js------ -查看grunt.js后作出回应------

try removing line 241 and see. 尝试删除第241行并查看。

js: ['<%= yeoman.dist %>/scripts/{,/}.js']. js:['<%= yeoman.dist%> / scripts / {,/}。js']。

there is some settings that we need to do in order to achieve the proper minification and combination of js files as well as versioning. 为了实现js文件的正确缩小和组合以及版本控制,我们需要做一些设置。

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

相关问题 grunt serve删除了yeoman生成器角度的应用程序依赖项 - grunt serve removes yeoman generator-angular app dependencies Yeoman发电机角度咕噜声:dist打破我的应用程序 - Yeoman generator-angular grunt serve:dist breaks my app 使用生成器角度全栈种子运行“咕gr服务”时发出咕unt错误 - grunt error when running “grunt serve” with generator-angular-fullstack seed 角.config路由不起作用:服务发出后的白页 - Angular .config routing not working: white page after grunt serve Hyperlink不支持angular-fullstack yo生成器 - Hyperlink is not working with angular-fullstack yo generator grunt serve:dist无法与Backbone Generator RequireJS一起使用 - grunt serve:dist not working with Backbone Generator RequireJS 当grunt发送时,找不到Angular.js模块:dist,但是grunt服务正常 - Angular.js Module not found when grunt serve:dist, but grunt serve works fine Yeoman Angular Node App,指南针在Grunt Serve上失败 - Yeoman Angular Node App, Compass Failed on Grunt Serve 刷新浏览器时出现Chrome浏览器错误,可在角度网络应用中投放 - Chrome browser errors on refresh of grunt serve in angular web app 使用 `grunt serve` 的页面,但在我加载 index.html 时不会 - Page working with `grunt serve` but not when I load index.html
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM