使用默认设置和空白 Typescript 项目,构建过程包括 apk/xap\www 目录中项目目录中的所有文件,包括 d.ts 和 .ts 文件。除了编辑 vs-mda 文件之外,还有一种方法可以全局(不是 ant.properties 等)从打包中排除文件,同时维护智能感知并将 .ts 文件编译到正确的位置?
另一个方面是 ionic 和 Angular nuget 包将 xxx.js 和 xxx.min.js 安装到\scripts 目录中,并且最终都在 apk/xap 中。
我正在寻找一种可以在项目模板中正确使用的方法,以打包到 .vsix 模板发行版中,而不需要最终用户进行大量手动编辑。
最佳答案
不幸的是,在 VS2013 CTP3.1 中实现此目的的唯一方法是在自定义插件中创建 Cordova Hook 。该 Hook 可以附加到 after_prepare 事件,然后您可以编写代码以从“bld”下生成的“platforms”文件夹中的正确位置删除文件。
请参阅此处的插件删除 typescript :https://github.com/Chuxel/taco-tricks
hook-remove-ts.js:
module.exports = function (context) {
var fs = require("fs");
var glob = context.requireCordovaModule('glob');
context.opts.cordova.platforms.forEach(function(platform) {
console.log("Processing " + platform);
// Get all TS files under platforms folder
glob("platforms/" + platform + "/**/*.ts", function(err, tsFiles) {
if(err) throw err;
tsFiles.forEach(function(tsFile) {
console.log("Deleting " + tsFile);
fs.unlinkSync(tsFile);
});
});
});
}
要安装它,只需从 Git 存储库中的plugin-remove-typescript 文件夹中获取它并将其拖放到本地文件夹中即可。使用配置设计器的“自定义”选项卡来选择它。您还可以通过更新插件中的 glob 语法来修改它以删除其他文件类型 ( https://www.npmjs.com/package/glob )。
随着即将发布的 VS 2015,这种情况将会得到改善。
有关 Cordova Hook 的更多信息:http://cordova.apache.org/docs/en/dev/guide/appdev/hooks/index.html#Hooks%20Guide
关于visual-studio-cordova - Visual Studio Cordova 排除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29684190/