1

シバン文字で始まるファイルを処理する際の webpack エラーのように見えるため、next.js を使用して Web ページを作成する際に問題が発生しています。ganache-cli でセットアップされたローカル イーサリアム ネットワークと対話する Web ページを取得しようとしています。これが私が得ているエラーです:

error - ./node_modules/ganache-cli/build/ganache-core.node.cli.js
Module parse failed: Unexpected character '#' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> #!/usr/bin/env node

index.js ファイルは次のとおりです。

import React, { Component } from 'react';
import vault from '../ethereum/vault';

class VaultIndex extends Component {

  render() {
    return <div>test</div>
  }
}

export default VaultIndex;

インポートされたvault.jsファイルは、このrequireステートメントで始まります。エラーに基づいて推測すると、事態は危険にさらされ始めます。

const ganache = require('ganache-cli');

next.config.js ファイルを作成し、次のように、シバン ( https://www.npmjs.com/package/webpack-shebang-plugin )で始まるこれらのファイルを処理できるプラグインをロードしようとしました.config.js ドキュメント ( https://nextjs.org/docs/api-reference/next.config.js/custom-webpack-config )。next.config.js ファイルは次のとおりです。

const ShebangPlugin = require('webpack-shebang-plugin');

module.exports = {
  webpack: (config) => {

    config.plugins.push(new ShebangPlugin())

    return config
  },
}

これを行うと、次のエラーが発生します。

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info  - Using webpack 4. Reason: custom webpack configuration in next.config.js https://nextjs.org/docs/messages/webpack5
ReferenceError: Cannot access 'watcher' before initialization
    at D:\My stuff\Vault\node_modules\next\dist\server\hot-reloader.js:31:40
    at Watching.handler (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:83932:17)
    at Watching._done (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:94252:9)
    at onCompiled (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:94201:26)
    at D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:74777:21
    at AsyncParallelHook.eval [as callAsync] (eval at create (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:128919:10), <anonymous>:19:1)
    at AsyncParallelHook.lazyCompileHook (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:128856:20)
    at D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:74776:20
    at AsyncSeriesHook.eval [as callAsync] (eval at create (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:128919:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (D:\My stuff\Vault\node_modules\next\dist\compiled\webpack\bundle4.js:128856:20)

どうすればいいのかわからない。私は next.js や javascript を使用することに非常に慣れていません。このエラーに対処する簡単な方法はありますか? 平易な言葉で説明してください(:

ありがとう、

ウリ

4

0 に答える 0