too*_*ool 13 javascript require node.js selenium-chromedriver
我有以下代码片段,它在其上下文中工作.
"use strict";
require('chromedriver');
var selenium = require('selenium-webdriver');
var driver = new selenium.Builder()
.forBrowser('chrome')
.build();
Run Code Online (Sandbox Code Playgroud)
我不明白的是这条线:
require('chromedriver');
如果我删除它我得到一个错误:
Error: The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver from http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH.
Run Code Online (Sandbox Code Playgroud)
所以它做了一些事情.
我明白了什么var chromedriver = require('chromedriver');
,我到目前为止只看到过使用这种方式的require函数.
所以关于这条线的问题: require('chromedriver');
它为什么有效?
所需的chromedriver最终在哪里?
如果require()函数没有将其返回保存到变量中,那么在genereal中会发生什么?
Pau*_*aul 11
调用require
模块实际上执行模块中的任何代码.在大多数情况下,模块会导出一个或多个函数或一个对象,您希望将其存储在变量中.但如果你写的东西如下:
for (var i = 0;i < 100; i++){
console.log("I've been called %d times", i);
}
Run Code Online (Sandbox Code Playgroud)
在.js文件中,然后require
在节点程序中的该文件中,您将获得100行添加到您的控制台,没有其他任何事情发生.
该模块可能不会导出任何内容,但它可能会将一些内容分配给global
.
例如,在 helper.js
global.timeout = 5000;
global.sayHello = function(e) {
console.log('Hello',e);
}
Run Code Online (Sandbox Code Playgroud)
并在 main.js
require('./helper.js');
sayHello('fish');
Run Code Online (Sandbox Code Playgroud)
有些人可能不喜欢它,因为你会污染全局命名空间。但是对于小型应用程序,您可以摆脱它。
归档时间: |
|
查看次数: |
3724 次 |
最近记录: |