2
let app = require('lotion')({
  initialState: { count: 0 }
})

app.use((state, tx) => {
  state.count++
})

app.listen(3000)

このコード (ローション js の公式 Web サイトで見つけたもの) を実行すると、このエラーが発生します

/home/kashika/node_modules/supercop.js/lib.js:97
  throw ex;
  ^

TypeError: app.listen is not a function
    at Object.<anonymous> (/home/kashika/prog.js:9:5)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
4

1 に答える 1

0

ローションの所有者が言ったように:

また、Node 11 でのインストールを妨げていた依存関係を削除しました。どちらのバージョンでも機能するはずです (11 で奇妙な警告が表示される場合がありますが、10 を使用することをお勧めします)。

解決:

ディレクトリを削除node_modulesし、最新バージョンのインストールを再試行してくださいlotion

作成app.jsおよび置換:

let lotion = require('lotion')

let app = lotion({
    initialState: {
        count: 0
    }
})

function transactionHandler(state, transaction) {
    if (state.count === transaction.nonce) {
        state.count++
    }
}

app.use(transactionHandler)

app.start().then(appInfo => console.log(appInfo.GCI))

その後、実行node app.jsすると解決します

于 2019-01-15T09:53:29.637 に答える