我试图通过System.Web.Optimization.React使用ASP.NET缩小和优化来缩小我的.JSX文件。我已经安装了MVC4 React软件包以及Optimization软件包,但是每当尝试包含一个软件包时,我都会得到以下信息:
React.TinyIoC.TinyIoCResolutionException: Unable to resolve type: React.IReactEnvironment
InnerException总是 null
null
我的捆绑软件设置如下:
bundles.Add(new ScriptBundle("~/Bundle/Scripts/ReactJS").Include( "~/Scripts/React/react-0.12.2.js", "~/Scripts/React/react-with-addons-0.12.2.js", "~/Scripts/React/JSXTransformer-0.12.2.js" )); bundles.Add(new JsxBundle("~/Bundle/Scripts/ReactCalendar").Include( "~/Scripts/React/Calendar/Main.react.jsx", "~/Scripts/React/Calendar/Components/Calendar.react.jsx", "~/Scripts/React/Calendar/Components/CalendarEvent.react.jsx", "~/Scripts/React/Calendar/Components/CalendarControls.react.jsx", "~/Scripts/React/Calendar/Components/CalendarTimeSlots.react.jsx" ));
并包含在视图中为:
@section scripts{ @Scripts.Render("~/Bundle/Scripts/ReactJS"); @Scripts.Render("~/Bundle/Scripts/ReactCalendar"); }
该错误总是在线上抛出:
@Scripts.Render("~/Bundle/Scripts/ReactCalendar");
有人对如何解决/调试这个有任何想法吗?让我知道是否需要更多信息。
没有InnerException的“ 无法解析类型:React.IReactEnvironment ”通常意味着ReactJS.NET由于某种原因未正确初始化。在网络应用程序,ReactJS.NET把手初始化通过使用WebActivator。确保您的项目引用React.Web,React.Web.Mvc4和WebActivatorEx,并且所有相应的.dll文件都位于应用程序的bin目录中。
React.Web
React.Web.Mvc4
WebActivatorEx
bin
另外,您不需要(也不应该)在您的JavaScript包中包含JSXTransformer,因为ReactJS.NET在服务器端完成所有JSX编译。