我有一个使用某些CSS和TypeScript的HTML网页。我一直在使用ParcelJS开发服务器来构建和测试我的页面。
现在,我想通过Web服务器提供我的应用程序。我有一台设置了nginx的Ubuntu 18.10 DigitalOcean Dropt /虚拟机。
我将代码克隆到服务器上,安装了ParcelJS,并按照说明here运行了parcel build index.html
。
然后,我尝试通过创建从/var/www/mysitedomain/html/app.html
到~/myappdir/dist/index.html
的符号链接来部署我的网页。
(某种)工作原理:当我访问我的网站时,我的浏览器将加载index.html。
但是,我的CSS都没有呈现,我的脚本似乎也没有运行!
很显然,我做错了什么。我应该怎么做才能部署我的应用程序?
这是我的摘要index.html(运行parcel build index.html
之后):
<!DOCTYPE html>
<head>
<title>Nothing to see here!</title>
<link rel="stylesheet" href="/sidebar.04cc1813.css">
</head>
<body>
<aside class="sidenav">
<h1>A sidebar</h1>
</aside>
<section class="main">
<p>Welcome to the semantic web!</p>
</section>
<script src="/main.9b45144c.js"></script>
</body>
这是我的/etc/nginx/sites-enabled/mysite.com
:
server {
listen 80;
listen [::]:80;
root /var/www/mysite.com/html;
index index.html index.htm index.nginx-debian.html app.html;
server_name mysite.com www.mysite.com;
location / {
try_files $uri $uri/ =404;
}
}
答案 0 :(得分:1)
在您的包裹命令中添加--public-url ./
CLI参数将告诉包裹发出相对于给定基本URL的资产URL引用。即您现有的:
<script src="/main.9b45144c.js"></script>
将变成:
<script src="./main.9b45144c.js"></script>
与CSS和其他资产相同...
另请参阅:https://parceljs.org/cli.html#set-the-public-url-to-serve-on