type
status
date
summary
tags
category
icon
新建一个Svelte项目
通过官网提供的命令进行项目的初始化:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa660a0df-58ce-49ef-beb2-efd3375c1ad9%2FUntitled.png?table=block&id=6c6ac4d4-c731-41ff-ba50-f8d0184e3c65&t=6c6ac4d4-c731-41ff-ba50-f8d0184e3c65&width=1082&cache=v2)
选择使用的方式,然后就可以创建项目了。
当然也可以选择使用 npx 命令安装:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff19e7a8b-45c1-4fe3-a8c0-f35edc2d0dd8%2FUntitled.png?table=block&id=ab871426-0850-4bca-bc1d-8d713e0fa3e2&t=ab871426-0850-4bca-bc1d-8d713e0fa3e2&width=1124&cache=v2)
其余步骤都是一个样子的。
然后进入项目目录,安装依赖,可选npm 或者 yarn
安装完之后,可以本地启动一下,看一下效果
生成静态html文件(SSG)
根据 Static Site Generation 中的提示,需要安装
adapter-static
修改
svelte.config.js
文件,替换 adapter-auto
为adapter-static
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4790da76-feff-4b8e-b119-1ae9efd30648%2FUntitled.png?table=block&id=8a7633eb-4a92-4da2-9b02-b47f04422bbb&t=8a7633eb-4a92-4da2-9b02-b47f04422bbb&width=1038&cache=v2)
新增
src/routes/+layout.ts
文件,内容为:如果创建的是一个demo工程,还需要配置一下内容:
新增
src/routes/sverdle/+layout.ts
内容为:新增一个
static/404.html
里面内随意;修改
svelte.config.js
新增一个 fallback
配置,意思是上面没有prerender的路径会被跳转到404页面:![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F167e5621-f56e-48b0-9893-870b76ab9fc0%2FUntitled.png?table=block&id=8f1b3764-e8bd-4f59-896d-a63b91dc05bf&t=8f1b3764-e8bd-4f59-896d-a63b91dc05bf&width=1080&cache=v2)
然后执行
yarn build
不出意外的话,应该能构建成功的。进入
build
目录启动一个static-server,因为是Mac电脑,自带有Python,可以使用以下命令启动:如果电脑安装的是python2,可以使用:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4b10dee3-8406-4972-8946-6948fbd3be82%2FUntitled.png?table=block&id=82b97623-68b3-4ad7-8c92-f64ce0960345&t=82b97623-68b3-4ad7-8c92-f64ce0960345&width=1120&cache=v2)
浏览器访问,就可以看到效果了:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff1e621f3-e28c-4972-af7f-e84ec1662d28%2FUntitled.png?table=block&id=0d7a0848-bee7-4d27-a91f-3c3c1fdd62fb&t=0d7a0848-bee7-4d27-a91f-3c3c1fdd62fb&width=2310&cache=v2)