require()
does not exist in the browser/client-side JavaScript.
have to make some choices about your client-side JavaScript script management.
You have three options:
- Use the
<script>
tag. - Use a CommonJS implementation. It has synchronous dependencies like Node.js
- Use an asynchronous module definition (AMD) implementation.
CommonJS client side-implementations include (most of them require a build step before you deploy):
- Browserify - You can use most Node.js modules in the browser. This is my personal favorite.
- Webpack - Does everything (bundles JavaScript code, CSS, etc.). It was made popular by the surge of React, but it is notorious for its difficult learning curve.
缺点:You have to compile it, then deploy it
which means it is less great for fast development
AMD implementations include:
- RequireJS - Very popular amongst client-side JavaScript developers. It is not my taste because of its asynchronous nature.