Pros: - Code separation - Separate modules Cons: - Code reuse - Global scope Simple solutions: - Global vars - IIFE (immediately-invoked function expressions) <script src="./vendor/polyfill.js"></script> <script src="./lib/core.js"></script> <script src="./components/dropdown.js"></script> <script src="./components/modal.js"></script> <script src="./application.js"></script>