• 总结


    安装淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org

    1.weinre 用法

    可以先用这个命令安装 cnpm -g install weinre  如果不行那么试试下面的方法安装

    首先安装java环境  

     http://www.cnblogs.com/duanhuajian/archive/2012/10/28/2743832.html                                         http://www.'c's'd'n'123.com/html/mycsdn20140110/bb/bb8bd0da998195d847421f6c57da3d04.html

    运行cmd,在weinre所在文件夹的地址栏输入代码:java -jar weinre.jar --httpPort 8081 --boundHost -all-  (如下图):

      比如文件位置在这C:UsersAdministratorAppDataRoaming pm ode_modulesweinrewebdemophone

    cmd进入该目录下,运行 weinre --httpPort 8082 -boundHost -all- 

    运行页面输入 http://114.0.0.200:8082/demo/phone/phone.html     ip去ipconfig取得

     

    8月28号更新

    将调试的页面中写入调试的JS

    <script src="http://114.0.0.200:8082/target/target-script-min.js#anonymous"></script>

    然后在极路由里设置本机的IP地址 然后手机或者电脑打开页面 (手机和电脑的url都一样。例如:wbbdemo.com/this.html)就会看到了

    需要数据的话需要把开发或者测试的host拿来 设置到极路由里面



    2.gulp 安装

      比如之前全局都安装完的情况下  教程点这 http://www.cnblogs.com/2050/p/4198792.html 


    进入文件目录 运行 cnpm install --save-dev gulp  然后安装模块 例如

    cnpm install —-save-dev gulp-imagemin

     运行cnpm init 建立package.json文件

    cnpm install -g grunt-cli  

    cnpm install grunt

    安装完 配置gulpfile.js文件
    /*"use strict";
    var gulp = require('gulp'),
    	uglify = require('gulp-uglify'),
    	sass = require('gulp-sass'),
    	mincss = requrie('gulp-mini-css'),
    	sourcemaps = require('gulp-sourcemaps');
    
    var raw_css = './sass',
    	com_css = './build/sass',
    	raw_js = './js',
    	com_js = './build/js';
    
    
    //每个gulp.task(name, fn)都是一个任务配置模块,如本代码段定义了名为"sass"的任务的执行流程
    gulp.task('sass', function() {
    	//gulp.src(glob)返回了一个可读的stream,如此行返回了raw/css/下的全部(包含子文件夹里的).scss文件流
      	gulp.src( raw_css + '/*.scss')
      	//.pipe()管道化执行组件任务,此处调用gulp-sourcemaps的初始化api来处理接收的文件流(方便后续编译出.map文件)
    	  	.pipe(sourcemaps.init())
    	  	//执行gulp-sass组件任务,把.scss文件流编译为.css文件流
    	  	.pipe(sass())
    	  	//调用gulp-sourcemaps的写入api,额外输出.map文件流
    	  	.pipe(sourcemaps.write('/'))
    	  	//执行gulp-mini-css组件任务,压缩所有css文件流
    	  	.pipe(mincss())
    	  	//gulp.dest(glob)返回一个可写的stream,如此行是将文件流写入到 COMPRESS/css 里的对应路径下
    	  	.pipe(gulp.dest( com_css ));
    });
    
    gulp.task('mincss',function(){
    	gulp.src( com_css+'/*.js' )
    		.pipe( mincss() )
    		.pipe(gulp.dest(com_css));
    });
    
    gulp.task('minjs',function(){
    	gulp.src(raw_js+'/*.js')
    		.pipe( uglify() )
    		.pipe( gulp.dest(com_js) );
    });
    
    gulp.task('watch',function(){
    	gulp.watch(raw_css+'/*.scss',['sass']);
    	gulp.watch(raw_js+'/*.js',['minjs']);
    });
    
    gulp.task('default',function(){
        gulp.run('sass','minjs','mincss');
        gulp.run('watch');
    });
    */
    "use strict";
    //在你的项目根目录下创建gulpfile.js,代码如下:
    
    // 引入 gulp
    var gulp = require('gulp');
    
    // 引入组件
    var htmlmin = require('gulp-htmlmin'), //html压缩
    	imagemin = require('gulp-imagemin'), //图片压缩
    	//pngcrush = require('imagemin-pngcrush'),
    	minifycss = require('gulp-minify-css'), //css压缩
    	jshint = require('gulp-jshint'), //js检测
    	uglify = require('gulp-uglify'), //js压缩
    	concat = require('gulp-concat'), //文件合并
    	rename = require('gulp-rename'), //文件更名
    	notify = require('gulp-notify'), //提示信息
    	rev = require('gulp-rev'),   //加MD5
    	revCollector = require('gulp-rev-collector');
    
    
    // 压缩htmlb
    gulp.task('html', function() {
    	return gulp.src('*.html')
    		.pipe(htmlmin({
    			collapseWhitespace: true
    		}))
    		.pipe(rev())
    		.pipe(gulp.dest('./dest'))
    		.pipe(notify({
    			message: 'html task ok'
    		}));
    
    });
    
    // 压缩图片
    gulp.task('img', function() {
    	return gulp.src('images/*')
    		.pipe(imagemin({
    			//optimizationLevel:7, //类型:Number  默认:3  取值范围:0-7(优化等级)
    			//progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片
    			//svgoPlugins: [{
    			//	removeViewBox: false
    			//}], //不要移除svg的viewbox属性
    			//use: [pngcrush()] //使用pngquant深度压缩png图片的imagemin插件
    				//interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染
    				// multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化
    		}))
    		.pipe(gulp.dest('./dest/images/'))
    		.pipe(notify({
    			message: 'img task ok'
    		}));
    });
    
    // 合并、压缩、重命名css
    gulp.task('css', function() {
    	return gulp.src('css/*.css')
    		.pipe(concat('main.css'))
    		.pipe(gulp.dest('dest/css'))
    		.pipe(rename({
    			suffix: '.min'
    		}))
    		.pipe(minifycss())
    		.pipe(gulp.dest('dest/css'))
    		.pipe(notify({
    			message: 'css task ok'
    		}));
    });
    
    // 检查js
    gulp.task('jslint', function() {
    	return gulp.src('js/*.js')
    		.pipe(jshint())
    		.pipe(jshint.reporter('default'))
    		.pipe(notify({
    			message: 'jslint task ok'
    		}));
    });
    
    // 合并、压缩js文件
    gulp.task('js', function() {
    	return gulp.src('js/*.js')
    		.pipe(concat('all.js'))
    		.pipe(gulp.dest('dest/js'))
    		.pipe(rename({
    			suffix: '.min'
    		}))
    		.pipe(uglify())
    		.pipe(gulp.dest('dest/js'))
    		.pipe(notify({
    			message: 'js task ok'
    		}));
    });
    
    // 默认任务
    gulp.task('default', function() {
    	gulp.run('img', 'css', 'jslint', 'js', 'html');
    
    	// 监听html文件变化
    	gulp.watch('*.html', function() {
    		gulp.run('html');
    	});
    
    	// Watch .css files
    	gulp.watch('css/*.css', ['css']);
    
    	// Watch .js files
    	gulp.watch('js/*.js', ['jslint', 'js']);
    
    	// Watch image files
    	gulp.watch('images/*', ['img']);
    });
    

      3.bower安装

    安装完以后 运行 bower install almond

    然后运行 bower init 建立bower.json文件

     然后运行 bower install jquery 

    4.scss映射

    文件目录下 gem install compass-sourcemaps --pre

    下面复制到rb文件里
    # enable sourcemaps
    enable_sourcemaps = true
    sass_options = {:sourcemap => true}

    5.Charles的运用 

    首先电脑wifi连接极路由的wifi  然后把极路由的host配置到测试环境的host  手机也连接极路由的host 手动设置代理  IP 为电脑ipconfig的IP  端口号为8888? (不确定之前是否有设置)   手机上输入 http://dev.5173cdn.com/newmobile/build/1.00/html/gameinfo.html 例如这个页面 

    6.本地用grunt建立多个ajax服务器

    命令行进入gruntfile文件所在目录。
    运行grunt ajax;


    如要开多个服务器。 多复制几份 ,更改端口号;

    例如 http://127.0.0.1:8083/?callback=“这里随便写什么”
    地址不能用localhost

    var path = require('path');
    var http = require('http');
    var urllib = require('url');
    
      module.exports = function(grunt) {
    
        // 重新设置 grunt 的项目路径,获取当前的 package.json 文件信息
        //grunt.file.setBase(__dirname);
    
        // 获取当前目录相对于共享 node_modules 目录的路径(以windows下面为例)
       //var nodepath = path.relative(__dirname,'../node_modules/');
    
    
        //生成模拟jsonp接口
        grunt.registerTask('ajax',"ajax",function(opts){
            var port = 8088;
            var data = grunt.file.readJSON('data.json');
    
            //变成同步模式
            this.async();
            http.createServer(function(req, res){
                var params = urllib.parse(req.url, true);
                if (params.query && params.query.callback) {
                    var str =  params.query.callback + '(' + JSON.stringify(data) + ')';//jsonp
                    res.end(str);
                } else {
                    res.end(JSON.stringify(data));//普通的json  
                }
            }).listen(port, function(){
                console.log('可以使用 "http://127.0.0.1:' + port +'/?callback=名称" 来访问接口');
            });
        });
    
       
    
    };
    
     module.exports = function(grunt) {
    
        // 重新设置 grunt 的项目路径,获取当前的 package.json 文件信息
        //grunt.file.setBase(__dirname);
    
        // 获取当前目录相对于共享 node_modules 目录的路径(以windows下面为例)
       //var nodepath = path.relative(__dirname,'../node_modules/');
    
    
        //生成模拟jsonp接口
        grunt.registerTask('ajax1',"ajax1",function(opts){
            var port = 8083;
            var data = grunt.file.readJSON('data.json');
    
            //变成同步模式
            this.async();
            http.createServer(function(req, res){
                var params = urllib.parse(req.url, true);
                if (params.query && params.query.callback) {
                    var str =  params.query.callback + '(' + JSON.stringify(data) + ')';//jsonp
                    res.end(str);
                } else {
                    res.end(JSON.stringify(data));//普通的json  
                }
            }).listen(port, function(){
                console.log('可以使用 "http://127.0.0.1:' + port +'/?callback=名称" 来访问接口');
            });
        });
    
       
    
    };
    grunt建立ajax服务器
  • 相关阅读:
    Yii学习系列:Yii视频讲义——前篇(转)
    Yii框架tips(转)
    如何学习Javascript
    浅谈程序猿简历的写法,你会如何写你的简历呢。(转)
    浅谈程序猿的职业规划,看你如何决定自己的未来吧。(转)
    软件授权协议有什么作用,例如GPL、Apache License、CDDL、EPL这些协议有什么区别?
    开源软件授权协议详解(GPL/MPL/LGPL/BSD/Apache Licence/Creative Commons/MIT)
    [Yii][RBAC]Yii中应用RBAC完全指南
    Yii之权限管理扩展 srbac
    YII 权限管理
  • 原文地址:https://www.cnblogs.com/web-alibaba/p/4722513.html
Copyright © 2020-2023  润新知