文档章节

修复casperjs中require自定义module传入绝对路径不能识别的问题

bobshi
 bobshi
发布于 2013/05/11 10:39
字数 172
阅读 792
收藏 0

Notice:此问题只在windows中出现。

问题现象:

比如你在casperjs脚本中引入一个模块这样写:

var util = require("d:/my_modules/util");
....


执行时就会报找不到module,d:/my_modules/util.js

解决办法:

找到casperjs安装目录bin下面bootstrap.js,找到代码块:

function possiblePaths(path, requireDir) {
        var dir, paths = []; 
        if (path[0] === '.') {
            paths.push.apply(paths, [
                fs.absolute(path),
                fs.absolute(fs.pathJoin(requireDir, path))
            ]); 
        } else if (path[0] === '/') {
            paths.push(path);
        } else {
            dir = fs.absolute(requireDir);
            while (dir !== '' && dir.lastIndexOf(':') !== dir.length - 1) {
                paths.push(fs.pathJoin(dir, 'modules', path));
                // nodejs compatibility
                paths.push(fs.pathJoin(dir, 'node_modules', path));
                dir = fs.dirname(dir);
            }   
            paths.push(fs.pathJoin(requireDir, 'lib', path));
            paths.push(fs.pathJoin(requireDir, 'modules', path));
        }   
        return paths;
    }
将第二个
else if (path[0] === '/')    

改成

else if (path[0] === '/'|| (path.match(/^[A-Za-z]:/) && require('system').os.name=='windows'))


© 著作权归作者所有

bobshi

bobshi

粉丝 53
博文 39
码字总数 7589
作品 0
长宁
前端工程师
私信 提问
CasperJS 的安装和快速入门

CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DO...

红薯
2012/05/30
11.1K
4
CasperJS 1.0 发布,Web 功能测试工具

CasperJS 1.0 发布了,包含重要的改进: 不再支持 PhantomJS 1.6.x ,要求 1.7 和 1.8 版本 移除废弃的 injector 模块 创建了 1.0 维护分支 主分支开始进行 CasperJS 1.1 开发 其他方面的改进...

oschina
2012/12/25
1K
1
PhantomJs+CasperJs的安装与使用

PhantomJs是所谓的“headless”浏览器,可以理解为一个没有GUI的全功能浏览器。CasperJs是它的一个扩展。 安装流程: 1,安装Nodejs: 下载地址:https://nodejs.org/en/ 2,安装Phantomjs:...

leochensh
2015/11/25
2
0
CasperJS 抓取特殊汉字时,无法正确是吧

利用CasperJS 去抓取网页中含有特殊文字【湧】 发现,无法正确识别这个汉字。 不知道各位大神是否有过类似的经历,求教! 系统环境 Ubuntu 12.04 + PhantomJS 1.7 +CasperJS 1.0...

倚小丁
2014/06/19
150
0
使用 CasperJS 构建 Web 爬虫

从你的应用中收集数据有时候可能有点困难和艰辛。可能是缺少一个必须的API,或者是有太多的数据需要处理。这时候你就需要借助于web抓取。 不用说了,这可能是个法律雷区,所以要确保你没有逾...

oschina
2016/02/09
3K
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 不同数据结构的使用场景?

1. string string 类型也就是 key-value 类型 常用命令:get、set、incr 应用场景:string 是最常用的一种数据类型 2. list 常用命令:lpush,rpush,brpop,blpop 应用场景:作为消息队列,因为...

happywe
11分钟前
2
0
PG jdbc

import java.sql.DriverManager;import java.sql.Connection;import java.sql.SQLException;import java.sql.ResultSet;import java.sql.Statement; public class PG{ public stat......

MtrS
15分钟前
2
0
Java工程师学习指南(中级篇)

Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写...

Java技术江湖
26分钟前
2
0
java 三元表达式

例子:C=A>B ? 100 :200; 这条语句的意思是,如果A>B的话,就将100赋给C,否则就将200赋给C;

无名氏的程序员
38分钟前
6
0
针对回流和重绘的渲染优化--公司分享

如果是你,你会如何实现浏览器内核,你认为的浏览器渲染的流程是怎么样的 工作开发中,你有做过哪些关于性能优化的工作(代码),或者目前的业务中有哪些是可以做优化的 浏览器渲染机制 什么...

莫西摩西
50分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部