Expressを使用して静的資産を提供しています。フロントエンドはAngularJS 1.xで、html5modeが有効になっています。私はクロームのdevのツールで次のように気づいたところreCAPTCHAのを実装しようとすると、次のとおりです。外部リソースによる明示的および静的資産
Uncaught SyntaxError: Unexpected token <
api.js?onload=vcRecaptchaApiLoaded&render=explicit“:1
私は私が受け取るreCAPTCHAのプロセスを開始する機能をクリックすると:
Error: reCaptcha has not been loaded yet.
これまでのところ、これがあることを意味します最初のエラーが報告している文字列が、GoogleからRecaptchaを読み込むためのURLパスの一部であることに気づいたためです。
chromeツールでurl(api.js?onload = vcRecaptchaApiLoaded & render = explicit ":1)をクリックすると、index.htmlが読み込まれます。奇妙な!
これは、私の静的資産提供と関係があると考えています。私は牛が家に帰るまで、私のエクスプレスサーバーで遊んだので、救済方法を理解することはできません。
ライブの例は: http://ninjacape.herokuapp.com
ここに私のコードで、ご覧頂きありがとうございます!
index.htmlを
<script src=“https://www.google.com/recaptcha/api.js?onload=vcRecaptchaApiLoaded&render=explicit“ async defer></script>
express.js
var express = require('express');
var compression = require('compression');
var app = module.exports.prod = exports.prod = express();
var devAPI = 'http://localhost:1337';
app.use(compression());
app.use(express.static('.tmp'));
app.get('/*', function(req, res) {
res.sendFile(__dirname + '/.tmp/index.html');
});
var proxy = require('express-http-proxy');
app.use('/api', proxy(devAPI));
var port = process.env.PORT || 8000;
app.listen(port);