0

我正在这里尝试一些可以真正减轻我的痛苦的东西。我刚刚收回了一个项目,使用的前端是reactjs,后端是.NET ASPNet 4.6。

我只是想用 webpack 进行热重载工作(因为它比每次我想看到一些工作时都构建要好得多)

问题是我很难配置以使其工作,而且我真的不明白 webpack 热重载是如何工作的。

我发现在构建过程中,js 文件和 css 文件被复制到 .NET 获取并重新渲染它的特殊文件夹中。我怎样才能让它听一些文件?我真的需要从.NET 启动它,因为我有一些控制器可以访问内置的后端。(我没有选择架构,不幸的是它被强加了)。

我已经尝试过的:

  • 来自 github 的一些插件,但幸运的是他们使用 ASPNet 5 和方法

    public void Configuration(IApplicationBuilder app)
      {
         ConfigureAuth(app);
      }
    

    在我的项目中:

    public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    

我知道,它很旧......所以不兼容(它在 .NET 的 Startup.cs 文件中)

  • 我尝试使用 http 请求进行连接,但他们选择内置,因此我无法通过 http:// 访问它

  • 我的反应文件 css 和 js 由 .NET 在 .cshtml 文件中加载,该文件加载在路径的根目录下(因此用户访问 .NET,加载所有 .NET 控制器,然后加载反应并渲染着陆反应页面)。

如果您有任何想法我可以尝试,我不知道下一步该看什么

不要犹豫,向我询问更多信息,我不知道该提供什么。

预先感谢社区

4

2 回答 2

1

经过不同的设置和尝试,我找到了一个部分解决方案,它不是我们所知道的热重载,但它避免了每次都构建。

在 2 行代码中,在 webpack.config.js 中在 output 处添加一行:

output: {
        path: __dirname + "/src/output/",
        filename: "client.min.js",
        publicPath: 'http://localhost:3000/static/'

重要的线路是 publicPath

然后在 index.cshtml :

<script src="@Url.Content("http://localhost:3000/static/client.min.js?" + ViewBag.version)"></script>

当您运行 npm run dev 并且 .NET 服务器侦听它时,这会在反应端创建一个带有节点服务的公共 js 文件。

尽管您仍然需要重新加载导航器页面才能看到更改,但我将看看如何使其自动化并在此处发表评论。如果有人对此有任何线索,请随时提供帮助!

于 2018-03-20T13:10:10.107 回答
0

您可以使用browser-syncwebpack 插件:我在这里找到了一个简洁的示例:为 ASP.NET MVC 设置 React 环境

于 2019-09-08T12:54:45.407 回答