0

FeathersJS でexpress-babelify-middlewareを使用しようとして
いますが、ブラウザー コンソールにエラーが表示されます。

ReferenceError: main_run が定義されていません

これは、babelify が機能していないか、main_run が HTML ファイルの src のグローバル名前空間にあるため、正しく使用していないことを意味します。
これは、フェザー生成の構造を使用した私のセットアップです。

公開/index.html:

<!DOCTYPE html>
<html>
<head>
<title>babelify test</title>

<script src="main.js"></script>
<script>
main_run()
</script>
</head><body>
<p>Testing feathers with babelify</p>
</body></html>

public/main.js

const external_module = require('./test')

function main_run(){
external_module()
}

public/test.js

module.exports = function(){
console.log("Hello world for an external module")
}

src/app.js の .uses の中で:

...

const babelify = require('express-babelify-middleware')

...

app.use(compress())
  .options('*', cors())
  .use(cors())
//the line that is not working:
.use('/main.js', babelify( path.join(app.get('public'), 'main.js') ))

  .use(favicon( path.join(app.get('public'), 'favicon.ico') ))
  .use('/', serveStatic( app.get('public') ))

localhost:3030/main.js にアクセスすると、ファイルが表示されますが、関数は独自の関数にあるように見えるため、その関数に入る方法がわかりません。

4

1 に答える 1