在Cassette中添加ScriptBundle无法正常工作

时间:2016-12-08 14:58:01

标签: asp.net-core-mvc react-jsx reactjs.net cassette

我正在尝试将我的JSX文件捆绑在一个asp.net核心应用程序中,但是我无法正常工作......我也在使用ReactJS.NET。目前我正在使用Cassette捆绑我的文件,我已经跟随了this guide + Cassette自己网站上的指南而没有运气。它还在指南中说,应该创建一个CassetteConfiguration.cs - 文件,当安装React.Cassette NuGet包时 - 这没有发生,所以我创建了自己的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核心应用程序中的捆绑工作,但我无法得到任何工作...所有文档都是旧的,导致相同的教程是2年旧..

我试图捆绑asp.net核心自己的捆绑,Babel,Webpack广告现在Cassette没有得到任何工作,它让我疯狂!

我真的希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

Cassette与ASP.NET Core不兼容,ASP.NET Core(https://github.com/madskristensen/BundlerMinifier)附带的bundler和minifier是不可扩展的,因此JSX编译无法添加到它中。您可以尝试使用Gulp或Webpack。