首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪花sdk:模块未找到:错误:无法解析“C:\projectname\node_modules\vm2\lib”中的“C:\projectname\node_modules\vm2\lib”

问雪花sdk:模块未找到:错误:无法解析“C:\projectname\node_modules\vm2\lib”中的“C:\projectname\node_modules\vm2\lib”
EN

Stack Overflow用户
提问于 2022-11-24 01:29:24
回答 1查看 31关注 0票数 2

我试图将雪花集成到我的柏树测试中,但是在编译过程中它一直在抛出错误。错误:

代码语言:javascript
复制
Error: Webpack Compilation Error
./node_modules/vm2/lib/resolver-compat.js
Module not found: Error: Can't resolve 'async_hooks' in 'C:\snowflake\node_modules\vm2\lib'
resolve 'async_hooks' in 'C:\snowflake\node_modules\vm2\lib'
  Parsed request is a module
  using description file: C:\snowflake\node_modules\vm2\package.json (relative path: ./lib)
    Field 'browser' doesn't contain a valid alias configuration

尝试了以下简单步骤:

Cypress

  • Installed
  1. 通过npm
  2. 安装了

-sdk,创建了一个规范文件并导入:。

代码语言:javascript
复制
const snowflake = require("snowflake-sdk");

当我运行规范文件时,我得到的错误如下所示。

如果我将错误跟踪到文件resolver-compat.js,我可以看到导入失败的地方。

代码语言:javascript
复制
    const {AsyncResource} = require('async_hooks');

我已经手动完成npm安装async_hooks,但也没有运气。

package.json

代码语言:javascript
复制
"devDependencies": {
    "cypress": "^11.2.0"
  },
  "dependencies": {
    "async_hooks": "^1.0.0",
    "snowflake-sdk": "^1.6.16"
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 02:00:41

雪花-sdk是一个NodeJs包,所以在Cypress中,您需要通过一个任务与它交互。

下面是从雪花文档中获取的基本连接任务。

cypress.config.js

代码语言:javascript
复制
const { defineConfig } = require("cypress");
var snowflake = require("snowflake-sdk");

let connectionId;

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      on("task", {
        snowflake: () => {
          var connection = snowflake.createConnection({
            account: "account",
            username: "user",
            password: "password",
            application: "application",
          });

          connection.connect(function (err, conn) {
            if (err) {
              console.error("Unable to connect: " + err.message);
            } else {
              console.log("Successfully connected to Snowflake.");
              // Optional: store the connection ID.
              connectionId = conn.getId();
            }
          })
          return null
        },
      });
    },
  },
})

测试

代码语言:javascript
复制
it('Connect to snowflake', () => {
  cy.task('snowflake')
})

如果没有正确的凭据,则会产生连接错误,但证明包正常工作。

无法连接:对雪花的请求失败。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74554695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档