大佬教程收集整理的这篇文章主要介绍了gruntjs – Grunt服务器不使用虚拟主机名为我的app..vhost和httpd设置但grunt没有使用它们,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<VirtualHost *:80> DocumentRoot "/Users/myusername/Sites/MyApp/app" ServerName myapp.dev <Directory "/Users/myusername/Sites/MyApp/app"> Options FollowSymLinks MultiViews Indexes AllowOverride All Order allow,deny Deny from none Allow from all </Directory> </VirtualHost>
主机@H_772_8@
127.0.0.1 myapp.dev ::1 myapp.dev
Gruntfile.js@H_772_8@
// Generated on 2013-11-08 using generator-angular 0.5.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) { require('load-grunt-tasks')(grunt); require('time-grunt')(grunt); grunt.initConfig({ yeoman: { // configurable paths app: require('./bower.json').appPath || 'app',dist: 'dist' },watch: { coffee: { files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],tasks: ['coffee:dist'] },coffeeTest: { files: ['test/spec/{,tasks: ['coffee:test'] },compass: { files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],tasks: ['compass:server','autoprefixer'] },styles: { files: ['<%= yeoman.app %>/styles/{,*/}*.css'],tasks: ['copy:styles',livereload: { options: { livereload: '<%= connect.options.livereload %>' },files: [ '<%= yeoman.app %>/{,*/}*.html','.tmp/styles/{,*/}*.css','{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js','<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' ] } },autoprefixer: { options: ['last 1 version'],dist: { files: [{ expand: true,cwd: '.tmp/styles/',src: '{,dest: '.tmp/styles/' }] } },connect: { options: { port: 9000,// Change this to '0.0.0.0' to access the server from outside. hostname: 'myapp.dev',livereload: 35729 },livereload: { options: { open: true,base: [ '.tmp','<%= yeoman.app %>' ] } },test: { options: { port: 9001,'test',dist: { options: { base: '<%= yeoman.dist %>' } } },clean: { dist: { files: [{ dot: true,src: [ '.tmp','<%= yeoman.dist %>/*','!<%= yeoman.dist %>/.git*' ] }] },server: '.tmp' },jshint: { options: { jshintrc: '.jshintrc' },all: [ 'Gruntfile.js','<%= yeoman.app %>/scripts/{,*/}*.js' ] },coffee: { options: { sourceMap: true,sourceRoot: '' },cwd: '<%= yeoman.app %>/scripts',*/}*.coffee',dest: '.tmp/scripts',ext: '.js' }] },test: { files: [{ expand: true,cwd: 'test/spec',dest: '.tmp/spec',ext: '.js' }] } },compass: { options: { sassDir: '<%= yeoman.app %>/styles',cssDir: '.tmp/styles',generatedImagesDir: '.tmp/images/generated',imagesDir: '<%= yeoman.app %>/images',javascriptsDir: '<%= yeoman.app %>/scripts',fontsDir: '<%= yeoman.app %>/styles/fonts',importPath: '<%= yeoman.app %>/bower_components',httpImagesPath: '/images',httpGeneratedImagesPath: '/images/generated',httpFontsPath: '/styles/fonts',relativeAssets: false },dist: {},server: { options: { debugInfo: true } } },// not used since Uglify task does concat,// but still available if needed /*concat: { dist: {} },*/ rev: { dist: { files: { src: [ '<%= yeoman.dist %>/scripts/{,'<%= yeoman.dist %>/styles/{,'<%= yeoman.dist %>/images/{,svg}','<%= yeoman.dist %>/styles/fonts/*' ] } } },useminPrepare: { html: '<%= yeoman.app %>/index.html',options: { dest: '<%= yeoman.dist %>' } },usemin: { html: ['<%= yeoman.dist %>/{,*/}*.html'],css: ['<%= yeoman.dist %>/styles/{,options: { dirs: ['<%= yeoman.dist %>'] } },imagemin: { dist: { files: [{ expand: true,cwd: '<%= yeoman.app %>/images',jpeg}',dest: '<%= yeoman.dist %>/images' }] } },svgmin: { dist: { files: [{ expand: true,*/}*.svg',cssmin: { // By default,your `index.html` <!-- Usemin Block --> will take care of // minification. This option is pre-configured if you do not wish to use // Usemin blocks. // dist: { // files: { // '<%= yeoman.dist %>/styles/main.css': [ // '.tmp/styles/{,// '<%= yeoman.app %>/styles/{,*/}*.css' // ] // } // } },htmlmin: { dist: { options: { /*removeCommentsFromCDATA: true,// https://github.com/yeoman/grunt-usemin/issues/44 //collapseWhitespace: true,collapseBooleanAttributes: true,removeAttributeQuotes: true,removeRedundantAttributes: true,useShortDoctype: true,removeEmptyAttributes: true,removeOptionalTags: true*/ },files: [{ expand: true,cwd: '<%= yeoman.app %>',src: ['*.html','views/*.html'],dest: '<%= yeoman.dist %>' }] } },// Put files not handled in other tasks here copy: { dist: { files: [{ expand: true,dot: true,dest: '<%= yeoman.dist %>',src: [ '*.{ico,png,txt}','.htaccess','bower_components/**/*','images/{,*/}*.{gif,webp}','styles/fonts/*' ] },{ expand: true,cwd: '.tmp/images',dest: '<%= yeoman.dist %>/images',src: [ 'generated/*' ] }] },styles: { expand: true,cwd: '<%= yeoman.app %>/styles',dest: '.tmp/styles/',*/}*.css' } },concurrent: { server: [ 'coffee:dist','compass:server','copy:styles' ],test: [ 'coffee','compass',dist: [ 'coffee','compass:dist','copy:styles','imagemin','svgmin','htmlmin' ] },karma: { unit: { configFile: 'karma.conf.js',singleRun: true } },cdnify: { dist: { html: ['<%= yeoman.dist %>/*.html'] } },ngmin: { dist: { files: [{ expand: true,cwd: '<%= yeoman.dist %>/scripts',src: '*.js',dest: '<%= yeoman.dist %>/scripts' }] } },uglify: { dist: { files: { '<%= yeoman.dist %>/scripts/scripts.js': [ '<%= yeoman.dist %>/scripts/scripts.js' ] } } } }); grunt.registerTask('server',function (target) { if (target === 'dist') { return grunt.task.run(['build','connect:dist:keepalive']); } grunt.task.run([ 'clean:server','concurrent:server','autoprefixer','connect:livereload','watch' ]); }); grunt.registerTask('test',[ 'clean:server','concurrent:test','connect:test','karma' ]); grunt.registerTask('build',[ 'clean:dist','useminPrepare','concurrent:dist','concat','copy:dist','cdnify','ngmin','cssmin','uglify','rev','usemin' ]); grunt.registerTask('default',[ 'jshint','build' ]); };
以上是大佬教程为你收集整理的gruntjs – Grunt服务器不使用虚拟主机名为我的app..vhost和httpd设置但grunt没有使用它们全部内容,希望文章能够帮你解决gruntjs – Grunt服务器不使用虚拟主机名为我的app..vhost和httpd设置但grunt没有使用它们所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。