2011-10-16 6 views
1

에 하나의 연결된 JS 파일을 서빙은과 같이 제공 : 생산NodeJS/ExpressJS : I 개별 JS 파일을 많이하고 있어요 생산

<script defer src="/js/libs/jquery.min.js"></script> 
<script defer src="/js/libs/plugins.js"></script> 

<!-- application core --> 
<script defer src="/js/application.js"></script> 

<!-- modules --> 
<script defer src="/js/modules/router.js"></script> 
<script defer src="/js/modules/feed.js"></script> 
<script defer src="/js/modules/files.js"></script> 
<script defer src="/js/modules/members.js"></script> 
<script defer src="/js/modules/sharebar.js"></script> 
<script defer src="/js/modules/utils.js"></script> 

내가 하나 script.js에 모든 파일을 연결하는 connect-assetmanager를 사용합니다. 동적으로 내 사이트 layout.jade을 변경하여이 단일 JS 파일을 제공 할 수 있습니까?

<script defer src="/js/script.js"></script> 

답변

1

왜 생산/개발이 이와 다르게 행동해야합니까? 아마도 엉덩이에 당신을 물 것입니다 그리고 AFAICT connect-assetmanager 정말 개발주기에 어떤 방해도 추가하지 않습니다, 그래서 그냥 항상 그것을 사용하고 그것에 대해 걱정하지 마십시오.

하지만,해야 할 일은 process.env['NODE_ENV'] 값과 layout.jade의 조건절을 살펴 보는 것입니다.

if production 
    script(src="/js/script.js") 
else 
    script(src="/js/libs/jquery.min.js") 
    script(src="/js/libs/plugins.js") 
    #and so so 
2

나는 당신이 생산을위한 하나의 JS 파일 (main.js)을 구축 할 수 있습니다 최적화 기능을의와 마찬가지로 RequireJS를 사용하여 끝났다. 개발시 모든 파일은 비동기 적으로로드되는 별도의 JS 파일이며 프로덕션 환경에서이 파일은 하나의 큰 js 파일로 연결됩니다.

요점은 페이지의 일부 (또는 스크립트를로드하는 모든 곳)가 제작 및 개발에서 동일하다는 것입니다.

<script data-main='/js/main.js' src='/js/plugins/require.js'> 
관련 문제