我正在通过Visual Studio的Cordova模板以及同一Visual Studio解决方案中的ASP.NET MVC Web应用程序开发基于Cordova的移动应用程序.我希望能够在两个项目之间共享尽可能多的
HTML.我遇到的一个问题是在ASP.NET中发生的捆绑和缩小,这在Cordova项目中是不可用的.任何想法如何在Visual Studio中跨两个项目支持缩小,这将允许我尽可能多地共享代码?
解决方法
Cordova的项目文件.jsproj是一个由MSBuild处理的普通构建文件,因此您可以通过添加自定义目标来应用所需的任何处理逻辑.您甚至可以通过安装相应的VS扩展来运行Node.js世界中的工具,如Grunt或Gulp.
至于在ASP.NET和Cordova项目之间共享代码,我建议在.jsproj中添加链接,如下所示:
<PropertyGroup> <AspNetProject>C:\YourAspNetProject</AspNetProject> </PropertyGroup> <ItemGroup> <Content Include="$(AspNetProject)\Views\**\*.cshtml"> <Link>views\%(RecursiveDir)%(FileName).html</Link> </Content> <!-- add other links here --> </ItemGroup>
这样,VS在解决方案资源管理器中显示链接的文件,并允许您编辑它们,就像它们是本地的一样.
不幸的是,当前版本的VS Tools for Apache Cordova,CTP3不支持链接项,因此必须在.jsproj中进行另一项更改:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.MDA.targets" /> <PropertyGroup> <BuildDependsOn>PreBuild;$(BuildDependsOn)</BuildDependsOn> </PropertyGroup> <Target Name="PreBuild"> <ItemGroup> <LinkedFiles Include="@(Content)" Condition="'%(Content.Link)' != ''" /> <!-- add other links here --> </ItemGroup> <copy SourceFiles="%(LinkedFiles.Identity)" DestinationFiles="%(LinkedFiles.Link)" /> </Target>
在任何Build子任务之前调用PreBuild任务,并将链接的文件复制到Cordova的项目中.其余的构建过程照常运行.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。