首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hardhat.config.ts抛出“无法在模块外使用导入语句”用于NestJS

Hardhat.config.ts抛出“无法在模块外使用导入语句”用于NestJS
EN

Stack Overflow用户
提问于 2022-09-22 13:16:46
回答 1查看 40关注 0票数 1

我想和nestjs一起使用安全帽,并通过人力资源配置合同。

  • 如果我使用require语句,如果我使用导入语句,插件就不能工作
  • ,它给出的不能使用导入外部模块

部署合同的脚本

代码语言:javascript
复制
const tokenFactory = await ethers.getContractFactory('Token')
const token = await tokenFactory.deploy(args)

tsconfig.json

代码语言:javascript
复制
{
  "compilerOptions": {
    "module": "CommonJS",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,

    "moduleResolution": "node",
    "resolveJsonModule": true,
    "esModuleInterop": true,

    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false
  },
  "include": ["/**/*.ts", "hardhat.config.js"],
  "files": ["hardhat.config.js"]
}

Hardhat.config.ts

代码语言:javascript
复制
require('hardhat')

require('hardhat-deploy')
require('hardhat-deploy-ethers')
require('@nomicfoundation/hardhat-toolbox')

require('@nomiclabs/hardhat-ethers')

require('dotenv').config()

module.exports = {
  solidity: '0.8.15',
  
  ---- NETWORKS SECTION ----

  paths: {
    sources: 'tokens'
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-26 05:18:52

我设法解决这个问题的方法是拥有这样的结构:

代码语言:javascript
复制
project/
  solidity/
    contracts/
    test/
    scripts/
    ...
    hardhat.config.ts
  src/
  dist/
  artifacts/
  ...
  hardhat.config.js

基本上,您需要用

代码语言:javascript
复制
npm i --save-dev hardhat
npx hardhat

带有打字本模板。

然后在hardhat.config.ts中,将工件路径放在父文件夹中,如下所示

代码语言:javascript
复制
paths: { artifacts: '../artifacts' }

然后在“项目”文件夹中安装“硬帽子”和“硬帽子工具箱”。

代码语言:javascript
复制
npm i --save-dev hardhat
npm i --save-dev @nomicfoundation/hardhat-toolbox

并在没有模板的情况下通过选择

代码语言:javascript
复制
Create an empty hardhat.config.js

然后将其设置为默认的js配置。

代码语言:javascript
复制
require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.17"
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73815347

复制
相关文章

相似问题

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