module - 在量角器中,如何使用模块的导入?
问题描述
我使用 Protractor 来测试一个非角度的网站。我可以使用量角器来做一些简单的事情,比如点击和等待元素,以及阅读元素的内容(例如跨度内的文本等)。但是,我希望能够执行诸如从 Angular 导入模块之类的操作。IUs 这可能:
import * as XLSX from "xlsx";
我该怎么做?
解决方案
所以首先,你想用 安装你的包npm
,我相信你已经知道如何做到这一点。NPM 是一个 node 包管理器,这意味着一切都由 node 管理,这就是你依赖 node.js 功能的原因,而且很高兴通过文档
Protractor
是一个包本身,它可能安装在本地(按照您的工作方向)或全局(安装到您的系统)。当您在本地安装任何东西时,它会进入node_modules
文件夹。重要的是,node_modules
是节点查找包的默认文件夹。因此,如果您使用let module = require(path)
,您的路径可以是实际路径(相对:./../../module
或绝对:)/Users/user/Documents/module
,也可以只是包的名称let module = require("xlsx")
。在这种情况下,节点将xlsx
在最近的node_modules
文件夹中查找包。
最接近意味着您的项目可能有多个node_modules
. 考虑这个文件夹结构
project-+-folder1
|
+-folder2
|
+-node_modules
|
+-folder3-+-node_modules
|
+-another-folder-+
|
+-spec.js
如果你说let module = require("xlsx")
在你的spec.js
,那么节点将在你的UNDER中查找xlsx
包,然后如果没有找到,它将向上移动一个目录并检查UNDER文件夹等。如果没有找到,它将尝试全局查找指定的包(在你的项目)。这样做是为了减少使用相对路径 ( ) 的麻烦。node_modules
folder3
node_modules
project
./../../..
现在,当您在使用 javascript 的节点中掌握了导入理论的基础知识时,以下是您问题的答案:
安装包后,您可以使用require()方法导入它
推荐阅读
- command-line-interface - 如何将 target 命令与 IBM Cloud CLI 一起使用
- r - 按变量中的字符数排列
- java - 加载数据查询不适用于 INSERT/REPLACE 选项
- html - 填充未正确应用于 div 元素
- sdn - 配置:错误:未找到 libopenvswitch.a。试试 --with-ovs-libpath
- php - 为什么不可能用嘲弄或其他任何东西来测试静态方法
- c# - 从 arduino 读取数据并在数据大于零时做出反应
- php - 如何在 authorize.net 支付网关中忽略它 AVS 不匹配?
- c - C代码错误不是函数或函数指针
- java - 如何在 java 中为 linux/unix 文件系统确定文件创建时间戳