zoukankan      html  css  js  c++  java
  • Appium修改源码后重新编译

    按照官方的说明下载源码,安装依赖库,具体可从这来:

    https://github.com/appium/appium/blob/master/docs/en/contributing-to-appium/appium-from-source.md

    基本上只要三条命令就可以了:

    git clone https://github.com/appium/appium.git
    cd appium
    npm install
    gulp transpile
    node .

    这样就可以起起来appium server:

    这时修改了appium/node_modules/appium-base-driver/lib/mjsonwp/mjsonwp.js 里的路由部分,加入一条console.log语句:

    要想生效,需要在appium/node_modules/appium-base_driver目录下运行:

    gulp transpile

    会生成build目录,这才可以生效。

    想到在最外层的appium目录下的gulpfile.js中定义一个可以重新编译的task:

    // rebuild所有gulpfile.js
    var exec = require('child_process').exec
    gulp.task('rebuildAll', function () {
        // 当前build
        exec('gulp transpile', function (err, stdout, stderr) {
            exec('gulp transpile', function (err, stdout, stderr) {
                console.log(__dirname + 'build done')
            })
        })
        fs.readdirSync(path.join(__dirname, 'node_modules')).forEach(function (dir) {
            var modulePath = path.join(__dirname, 'node_modules', dir)
            if(fs.existsSync(path.join(modulePath, 'gulpfile.js'))) {
                exec('gulp transpile', {cwd: modulePath}, function (err, stdout, stderr) {
                    console.log(modulePath + ' build done')
                })
            }
        })
    })

    对gulp不太熟,写的有点糙,可以只编译改动的部分,但这里一律重编译.

    这样,在WebStorm,只要跑这个gulpfile.js里的rebuildAll就可以让修改的代码生效了.

  • 相关阅读:
    关于心累的思考
    关于组件化开发的思考
    分页组建感想
    工作日记
    unload没有用
    今天很不开心
    select option
    reduce()用法
    $.each()用法
    MFC创建对话框组件对应变量并进行设置值(VS2010)
  • 原文地址:https://www.cnblogs.com/cool-fire/p/6700217.html
Copyright © 2011-2022 走看看