IntelliJ IDEA / Webstorm 和 AngularJS / Ionic
Posted
技术标签:
【中文标题】IntelliJ IDEA / Webstorm 和 AngularJS / Ionic【英文标题】:IntelliJ IDEA / Webstorm and AngularJS / Ionic 【发布时间】:2015-07-18 00:37:40 【问题描述】:我喜欢多种技术结合在一起产生一种令人兴奋的...
以下 AngularJS 模板在 IDE 中报错(“无法解析文件”)。我发现检查非常方便,我不想简单地关闭它。
/my_project/www/templates/logo.html
...
<img src="img/logo.png"/> <<< file at /my_project/www/img/logo.png
...
问题: 在这种情况下,我们如何让 IntelliJ IDEA 或 WebStorm 等 IDE 与 Ionic/AngularJS/Cordova 配合得很好?
注意:我不能简单地将 www 文件夹标记为“资源根”并使用绝对引用,因为 ionic 需要相对引用...
还是这样?有没有办法在 cordova 方面解决这个问题以允许绝对引用?即,因此在部署到 android 时它不会中断(因为我们需要前缀 file://android_asset/www/)
【问题讨论】:
【参考方案1】:受this answer 的启发,我最终在构建过程中创建了一个递归搜索/替换脚本。我为“after_prepare”制作了一个cordova钩子,并将节点与replace package一起使用。现在我可以使用绝对引用并获得 IDE 的全部优势...然后在构建时将它们转换为相对引用。
这是一个示例挂钩文件,可帮助您入门。如果您使用 angular/ionic,请不要忘记在 app.js 中为 css 文件或 templateUrl 添加引用。当然不要忘记根据您的需要修改平台细节。
#!/usr/bin/env node
var replace = require("replace");
var wwwDir = process.argv[2] + '\\platforms\\android\\assets\\www';
// convert all src and href tags to relative in index.html + components\*
replace(
regex: '(src|href)=([\'"])/+',
replacement: '$1=$2',
paths: [
wwwDir + '\\components',
wwwDir + '\\index.html'
],
recursive: true,
silent: false
);
【讨论】:
以上是关于IntelliJ IDEA / Webstorm 和 AngularJS / Ionic的主要内容,如果未能解决你的问题,请参考以下文章
IntelliJ IDEA / Webstorm 和 AngularJS / Ionic
如何在 Windows 上为 WebStorm 或 IntelliJ IDEA 使用 Mac OSX 键盘映射?
IntelliJ IDEA 可以通过插件封装 WebStorm 和 PHPStorm 的所有功能吗? [关闭]
如何在鼠标悬停时禁用 JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm)中的自动显示提示
idea激活码,WebStorm激活码,DataGrip激活码,PyCharm激活码,PhpStorm激活码,IntelliJ 全家桶系列,定期更新