Skip to content

在开发环境中体验 Discussion.Web

LiuMengchen edited this page Nov 21, 2019 · 5 revisions

Discussion.Web 是论坛前台项目。

要想在开发环境中体验它,在拉取代码之后,执行下列操作:

编译

进入 src/Discussion.Web 目录,并分别编译后端 C# 代码和前端代码:

cd src/Discussion.Web
dotnet build

cd wwwroot
npm run dev

运行

接着,回到上层的 src/Discussion.Web 目录,并运行项目:

cd ..
dotnet run --environment Development

后面的 --environment Development 参数指示以“Development”作为环镜名称加载相关配置。

网站启动成功之后,可以打开浏览器并访问 http://localhost:5020 访问网站首页。(默认的端口配置位于 src/Discussion.Web/Properties/launchSettings.json 文件中)

自动创建数据库

当没有在配置中指定数据库位置时,由于没有已经存在的数据库,系统会自动创建用于体验的空数据库,其路径位输出在控制台上。

由于数据库是用于体验而自动创建的,因而在下一次运行进程时,会再次创建新的数据库。也正因此,每次在体验期间网站上录入的信息,在下次启动时,将会丢失。

注意,如果在配置中已经指定了数据库位置,那么程序就不会再自动创建数据库。这时,如果指定的位置并不存在数据库文件,程序就会出错。

保留体验期间的数据

在开发环境中,如果想持续保留在网站上创建的数据,那么应该在配置文件中指定一个已经存在的数据库文件。为了获得最初的数据库文件,可以先用上面介绍的自动创建数据库文件的过程,创建一个数据库文件。然后在控制台中找到它的位置,并把它复制到特定的位置,然后再在配置文件中指定数据库位置。

下面是一个指定了数据库位置的 appsettings.json 配置文件:

{
  "pgsqlConnectionString": "Data Source=dotnetclub.db"
}

注意 当使用相对路径时,路径相对的是运行命令行时的“当前工作目录”,而并非项目所在目录,或者编译后的 dll 文件所在目录。

持续保留数据时,如果遇到需要更新数据库结构的情况,应该手动对数据库文件执行数据库迁移