是否可以安装通过npm安装的节点模块,然后require
从casperjs脚本安装它?
(我在node.js内看到了很多运行casper或phantom的帖子和工具,但这不是我想要的。)
casperjs文档似乎说这是可能的,但只能使用手写玩具模块进行显示,而实际上并没有做任何事情。我要安装的实际模块是imap
,但目前无法使任何模块正常工作,即使是内置模块也是如此net
。简单的例子:
npm install imap
echo "var test = require('imap');" > test.js
casperjs test.js
给我:
CasperError: Can't find module imap
/usr/local/src/casperjs/bin/bootstrap.js:263 in patchedRequire
test.js:1
(我可以从中看到imap模块npm ls
,也可以从node.js脚本中很好地使用它。)
或者使用内置模块:
echo "var test = require('net');" > test.js
casperjs test.js
抱怨“找不到模块网”
我有npm --version
1.4.14和nodejs --version
v0.10.29。我想知道这两个都太老了吗?(Casper是1.1.0-beta,而Phantom是1.9.7,这两个都是最新版本。)
PhantomJS和SlimerJS(用于CasperJS的引擎)不是Node.js模块。为了方便,可以通过npm安装它们。它们具有与Node.js不同的模块的基本基础架构。
您将无法使用imap
或依赖于该net
模块的任何模块。正如Fanch所指出的,有些模块可以在phantomjs运行时内部工作。
如果模块仅使用某些本机node.js模块的功能,则可以尝试将实现更改为使用phantomjs提供的API。我认为这并不容易。大多数时候,您会碰壁。
在的情况下imap
,这是毫无希望的。您甚至无法重新实现require("net").Socket
,因为phantomjs(至少在1.9.7中)不支持WebSockets。
问题内容: 我正在尝试使其工作,但似乎无法在SO的任何地方找到解决方案。尝试编译此单文件应用程序时: 使用命令“ tsc app.ts –module’commonjs’”,我得到以下错误(不使用– module标志给我一个额外的错误,告诉我我需要它来编译外部模块): 问题答案: TypeScript需要知道它存在。 为节点安装类型definitinos: 旧答案 遵循这两个步骤 从此处下载文件:
问题内容: 我正在看一位同事写的一些代码,她在require语句中使用该符号。这是这些文件之一的第一行: 当我尝试运行此代码时,出现错误: 坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。 我所能猜测的是,这是我尚未接触到的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些暗黑的配置技巧。任何信息都值得赞赏,即使这只是对require的工作方式的解释。 其他想法:主
CasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG 可轻松的定义导航场景,提供一些很有用的高级函数、方法和语法糖用于定义常用的任务
<html>位于网页的顶端 它没有父辈,称之为根节点 1.元素节点(element node) 可以说,整个DOM模型都是由元素节点(element node)组成 比如文本段落元素“<p>”,无序清单的名称“<ul>”,元素节点包含其他元素、 2.文本节点(text node) 例如<h2>中的文本“标题1”,<li>中的文字内容,这些具体文本在DOM称为(text node) 3.属性
问题内容: 我正在看一位同事写的一些代码,她在require语句中使用该符号。这是这些文件之一的第一行: 当我尝试运行此代码时,出现错误: 坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。 我只能猜测的是,这是我还没有接触过的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些黑暗的配置技巧。任何信息都值得赞赏,即使这只是对require的工作方式的解释。 其他想法:
我有一个关于NodeJS中Assert模块的问题。 在“测试”之外使用Assert模块是不是很好的做法,我的意思是在生产中,比如如果我有一个函数来求和两个数字,我可以使用Assert模块来检查这两个参数是数字还是不是数字 这只是一个简单的例子,但您可以理解这一点 这会不会影响代码执行或者速度什么的。 提前致谢