首页 > 解决方案 > 在量角器中,如何使用模块的导入?

问题描述

我使用 Protractor 来测试一个非角度的网站。我可以使用量角器来做一些简单的事情,比如点击和等待元素,以及阅读元素的内容(例如跨度内的文本等)。但是,我希望能够执行诸如从 Angular 导入模块之类的操作。IUs 这可能:

import * as XLSX from "xlsx";

我该怎么做?

标签: moduleprotractor

解决方案


所以首先,你想用 安装你的包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_modulesfolder3node_modulesproject./../../..

现在,当您在使用 javascript 的节点中掌握了导入理论的基础知识时,以下是您问题的答案:

安装包后,您可以使用require()方法导入它


推荐阅读