2015-06-04 4 views
0

У меня есть этот HTML-файл, который использует файл javascript AngularJs. И я запустить это приложение с помощью Tomcat 7Размещение файла ресурса JavaScript

<html> 
    <head> 
    <script src="src/main/resources/appjs/angular.min.js"></script> // not working 
    <script src="/resources/appjs/angular.min.js"></script> // not working 
    <script src="/src/main/resources/appjs/angular.min.js"></script> // not working 

    <!-- <script src="angular.min.js"></script> --> // working 
    </head> 
    <body> 
    <h2>Hello World!</h2> 


    <div ng-app=""> 
     <p>Name : <input type="text" ng-model="name"></p> 
     <h1>Hello {{name}}</h1> 
    </div> 

</body> 
</html> 

Если я положил файл JS в этой отдельной папке она не будет работать. И если я поместил его в тот же каталог, он будет работать. В чем причина такого поведения?

+0

Это связано с тем, что оба этих файла находятся в одном каталоге (у вас есть файл углового js файла amd html в папке «webapp») –

+0

@LuthandoLoot, но если путь правильный, то он должен работать r8 ? – prime

+0

Я имею в виду, не могу ли я разместить JS-файлы вне папки webapp? – prime

ответ

1

При отправке относительных путей без указания «/» в начале он начнет поиск файла относительно папки, в которой присутствует html. В вашем случае есть angular.min.js, где index.html расположен так, что он работает, другой нет.

+0

Я отредактировал вопрос. это случается, если я удаляю '/' также. – prime

0

Ваш сервер будет настроен на обслуживание файлов из каталога «src/main/resources/appjs». Если вы установили src для своего <script> на «angular.min.js», тогда сервер будет хорошо разбираться в нем. Но если вы установите src в «src/main/resources/appjs/angular.min.js», тогда сервер ищет «src/main/resources/appjs/src/main/resources/appjs/angular.min.js», которого не существует.

Абсолютные пути указываются URL-адресом, начинающимся с символа «/», поэтому если вы попытаетесь «/src/main/resources/appjs/angular.min.js», это может сработать - хотя безопасность может быть проблемой и " src "может не находиться в корневом каталоге вашего сервера.

+0

src path '' тоже не работает. – prime

+0

Как я уже говорил, либо защита предотвращает доступ к абсолютным путям, либо 'src' не находится в корне вашего сервера. –

+0

Так есть ли способ изменить это? Я имею в виду, 'или src не находится в корне вашего сервера. 'Это? – prime

Смежные вопросы