끝에이 스크립트가 포함 된 웹 사용자 컨트롤이 있습니다.require.js에서 새로 고치지 않고 스크립트가로드되지 않습니다.
<script>
require(['modules/product'], function (_s) {
new _s();
});
</script>
product.js 파일과 product.js을로드 할 내가 마스터 페이지 또는이 스크립트
<%if (Sitecore.Context.PageMode.IsNormal){ %>
<script type="text/javascript" src="/js/vendor/modernizr.js"></script>
<script type="text/javascript" src="/js/vendor/require.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
<%} else { %>
<script>
function require() { };
function define() { };
</script>
RequireJS 구성을 포함하는 기본 페이지가이
define(["jquery", "async!https://maps.googleapis.com/maps/api/js?key=something", "validate", "validate.add"],function ($) {--some code---}
과 같이 정의된다 이런 식이다
require.config({
baseUrl: "/js",
waitSeconds: 0,
paths: {
async: 'vendor/async',
jquery: 'vendor/jquery-1.11.3.min',
'jquery.ui': 'vendor/jquery-ui',
dropdown: 'vendor/dropdown',
sharebutton: 'vendor/buttons',
tooltip: 'vendor/tooltip',
easyzoom: 'vendor/easyzoom',
validate: 'vendor/jquery.validate.min',
'validate.add': 'vendor/additional-methods',
swipe: 'vendor/jquery.touchSwipe',
browser: 'modules/browser',
moment: 'vendor/moment'
}
}};
하지만이 product.js 파일은 처음에는 로딩되지 않지만 페이지를 수동으로 새로 고친 후에 정상적으로 작동합니다.
도움이 될 것입니다. 나는 requirejs 또는 스크립팅 언어에 매우 익숙하다.
당신이 보여준 것보다 더 많은 정보를 제공해야합니다. 새로 고침을 통해 해결 된 문제는 대개 잘못된 RequireJS 구성 또는 잘못된 시작 시퀀스로 인해 발생합니다. 질문을 편집하여 RequireJS 구성을 표시하고 HTML에서와 같은 순서로'script' 요소를 표시하십시오. 독자는 모듈 로딩을 시작하는 방법을 명확하게 볼 수 있어야합니다. 궁극적으로 [mcve]를 목표로해야합니다. – Louis
당신은 아직'script' 요소를 사용하지 않았습니다. (당신은 단지 * 하나만 보여주고 있습니다. 충분하지 않습니다.) 그들은 당신의 응용 프로그램을 시작하는데 결정적입니다. 제대로 설정하지 않으면보고하는 문제가 발생할 수 있습니다. – Louis
안녕하세요 @ 루이스 사용자 컨트롤이 렌더링되는 마스터 페이지에 포함 된 더 많은 스크립트를 추가했습니다. –