Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 未捕获的语法错误:意外标记<;在React JS中_.htaccess_Reactjs_Webpack - Fatal编程技术网

.htaccess 未捕获的语法错误:意外标记<;在React JS中

.htaccess 未捕获的语法错误:意外标记<;在React JS中,.htaccess,reactjs,webpack,.htaccess,Reactjs,Webpack,我使用以下命令在中设置了.htaccess: RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] 然后,我尝试在index.js文件中设置路由。如果我的路线只是一个级别,例如 但是,如果我尝试连接到某个路由(如),则会出

我使用以下命令在中设置了.htaccess:

RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

RewriteRule ^ index.html [L]
然后,我尝试在index.js文件中设置路由。如果我的路线只是一个级别,例如

但是,如果我尝试连接到某个路由(如),则会出现以下错误:

Uncaught SyntaxError: Unexpected token <            bundle.js:1 
我的宝贝

{
  "presets" : ["es2015", "react"]
}

我已追踪到该问题,并发现我需要从以下内容更改index.html文件中的脚本行:

<script src="js/bundle.js" type="text/javascript"></script>

为此:

<script src="/testsite/js/bundle.js" type="text/javascript"></script>

原因是在后端.htaccess确实将所有流量重定向到index.html,但浏览器中的路径没有改变。因此,当浏览器尝试加载javascript文件时,它会在/testsite/category/目录(技术上不存在)中查找它,而不是在/testsite/目录中查找它。

我遇到了同样的问题。 在我的情况下,下一步可以。htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

您是否使用Babel将其从JSX传输到常规JS?@AndrewLi,我是的。您可以在问题中包含您的.babelrc和/或网页配置吗?@FabianSchultz我已经为您添加了我的webpack.config.JS和.babelrc文件。我已经跟踪了这个问题,并在下面发布了我的答案。谢谢你们的帮助!
<script src="/testsite/js/bundle.js" type="text/javascript"></script>
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>
output: {
            path: argv.mode === "production" ? __dirname + '/prod' : __dirname + '/dist',
            publicPath: '/',
            filename: '[hash].bundle.min.js'
        },