找不到模块“../drop-file.js"量角器,角度 [英] Cannot find module '../drop-file.js' protractor, angular

查看:42
本文介绍了找不到模块“../drop-file.js"量角器,角度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用一个模块 (source) 在 量角器 中,在 angular 9 应用程序 中,但我无法获得以下错误: 错误:错误:找不到模块./drop-file.js"

I'm trying to use a module (source) in protractor, in a angular 9 app but i'm not able to and get the following error : Error: Error: Cannot find module './drop-file.js'

错误说它没有找到模块,但模块被正确调用,如下所示.

The error say that it doesn't find the module but the module is correcly called as you can see bellow.

我的结构:

drop-file.js
test.po.ts

test.po.ts :

const dropFile = require('./drop-file.js');
export class ReviewPo {
...
  public uploadFiles() {
    ...
          dropFile(dropElement, './image.png');
    ...
  }
}


drop-file.js :

"use strict";

var fs = require('fs');

var path = require('path');

var JS_BIND_INPUT = function JS_BIND_INPUT(target) {
  var input = document.createElement('input');
  input.type = 'file';
  input.style.display = 'none';
  input.addEventListener('change', function () {
    target.scrollIntoView(true);
    var rect = target.getBoundingClientRect(),
      x = rect.left + (rect.width >> 1),
      y = rect.top + (rect.height >> 1),
      data = {
        files: input.files
      };
    ['dragenter', 'dragover', 'drop'].forEach(function (name) {
      var event = document.createEvent('MouseEvent');
      event.initMouseEvent(name, !0, !0, window, 0, 0, 0, x, y, !1, !1, !1, !1, 0, null);
      event.dataTransfer = data;
      target.dispatchEvent(event);
    });
    document.body.removeChild(input);
  }, false);
  document.body.appendChild(input);
  return input;
};


module.exports = function (dropArea, filePath) {
  // get the full path
  filePath = path.resolve(filePath); // assert the file is present

  fs.accessSync(filePath, fs.F_OK); // resolve the drop area

  return dropArea.getWebElement().then(function (element) {
    // bind a new input to the drop area
    browser.executeScript(JS_BIND_INPUT, element).then(function (input) {
      // upload the file to the new input
      input.sendKeys(filePath);
    });
  });
};

推荐答案

在 tsconfig.json 中添加

In tsconfig.json, add

{
  ...

  "allowJs": true,

  ...
}

现在在 test.po.ts

Now in test.po.ts

const dropFile = require('./drop-file');

来源:如何将 js-modules 导入 TypeScript 文件?

这篇关于找不到模块“../drop-file.js"量角器,角度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆