cordova脚本src采取相对路径而绝对 [英] cordova script src takes relative path rather absolute
问题描述
我正在使用cordova构建一个混合应用程序。我的文件夹结构如下所示
I am building a hybrid app out of cordova . my folder structure looks like
www
- bower_components
- 组件
- 字体
- 脚本
- 样式
- 图片
- bower_components
- components
- fonts
- scripts
- styles
- images
index.html
index.html
当我使用cordova( cordova build )和运行 cordova服务时创建项目
javascripts文件是从根路径提供的
Javascript从相对路径, css被完全加载
When i build the project using cordova (cordova build) and when i run cordova serve the javascripts files are served from root path Javascript takes from relative path whereas the css are loaded perfectly
请帮助我解决这个问题。但这不是问题,当我从cordova运行演示项目。
Please help me in solving this is issue. but this is not problem when i run demo project from cordova .
这是索引文件。其在缩小版本
this is index file. its in minified version
<!doctype html> <html class="no-js"> <head> <meta charset="utf-8"> <title>KnoTalk</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> <link rel="stylesheet" href="styles/vendor.460a10c2.css"> <link rel="stylesheet" href="styles/main.b59cb9a9.css"> <link rel="shortcut icon" type="image/png" href="images/favicon.fcf321eb.png"> <base href="/"> <body ng-app="knotalk"> <div class="sidebar sidebar-left"> <div ng-include="'components/sidebar/sidebar.html'"></div> </div> <div class="sidebar sidebar-right"> <div ng-controller="MainController"> <div ng-if="isChannel"> <div ng-include="'components/middleSection/channelMetaInfo.html'"></div> </div> <div ng-if="!isChannel"> <div ng-include="'components/middleSection/userMetaInfo.html'"></div> </div> </div> </div> <div class="app" ng-swipe-right="Ui.turnOn("uiSidebarLeft")" ng-swipe-left="Ui.turnOff("uiSidebarLeft")"> <!-- Add your site or application content here --> <!-- angular spinner --> <span us-spinner spinner-key="spinner-1"></span> <div ng-include="src='components/header/header.html'"></div> <div class="app-body"> <div class="app-content"> <div ng-view=""></div> </div> </div> </div> <div ui-yield-to="modals"></div> <!--[if lt IE 9]>
<script src="scripts/oldieshim.fa8ddb71.js"></script>
<![endif]--> <script type="text/javascript" src="cordova.js"></script><script type="text/javascript" href="scripts/vendor.1a204611.js"></script> <script href="scripts/scripts.79913f18.js" type="text/javascript"></script>
`
推荐答案
问题是没有cordova它,因为我已经添加 BASE 标签在html中为angular js和我已设置 ; base href ='/'>
。所以脚本采取绝对路径。
The problem was not with cordova its because i have added BASE tag in html for for angular js and i have set <base href='/'>
. So the scripts takes absolute path.
这篇关于cordova脚本src采取相对路径而绝对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!