在 Cassette 中添加 ScriptBundle 不适用于 ReactJS.NET

问题描述 投票:0回答:1

我正在尝试将我的 JSX 文件捆绑在 asp.net core 应用程序中,但我无法让任何东西工作......我也在使用 ReactJS.NET。目前,我正在使用 Cassette 捆绑我的文件,并且我遵循了此指南 + Cassette 自己网站上的指南,但没有运气。指南中还说,当安装 React.Cassette NuGet 包时,应该创建一个

CassetteConfiguration.cs
文件 - 这没有发生,所以我创建了自己的
CassetteConfiguration.cs
文件,它看起来像这样:

namespace ReactNewTest
{
    public class CassetteBundleConfiguration : IConfiguration<BundleCollection>
    {
        public void Configure(BundleCollection bundles)
        {
            // Configure your bundles here...
            // Please read http://getcassette.net/documentation/configuration
            
            bundles.Add<ScriptBundle>("main.js", "js/tutorial.jsx", "js/guide.jsx");
        }
    }
}

在此之后,我尝试将其发送到我的视图 -

Index.cshtml
- 视图中的代码如下所示:

@using Cassette.Web
@using Cassette
@using Cassette.Views
@using Cassette.Aspnet
@using Cassette.BundleProcessing
@using Cassette.React
@{
    Layout = null;
    Bundles.Reference("main.js");
}
<html>
<head>
    <title>Hello React</title>
</head>
<body>
    <div id="content"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/remarkable/1.7.1/remarkable.min.js"></script>
    @Bundles.RenderScripts()
</body>
</html>

我还将

_ViewImports.csHtml
编辑为:

@using React.AspNet
@using ReactNewTest
@using Cassette.React
@using System.Web.Optimization
@using Cassette.Views
@using Cassette
@using Cassette.Aspnet
@using Cassette.BundleProcessing

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration

当我尝试运行它时,它只会给我this NullReferenceException

我现在已经尝试了好几天让这个捆绑在我的 asp.net core 应用程序中工作,但我无法让任何东西工作......所有文档都是旧的,并导致相同的教程已经有 2 年了。 .

我尝试过与asp.net core自己的捆绑包、Babel、Webpack ad now Cassette 捆绑在一起,但没有任何效果,这让我发疯!

我真的希望有人能帮我解决这个捆绑问题。

asp.net-core-mvc reactjs reactjs.net cassette
1个回答
0
投票

Cassette 与 ASP.NET Core 不兼容,并且 ASP.NET Core 自带的捆绑器和压缩器(https://github.com/madskristensen/BundlerMinifier)不可扩展,因此无法添加 JSX 编译到它。您可以尝试使用 Gulp 或 Webpack 代替。

© www.soinside.com 2019 - 2024. All rights reserved.