OLD | NEW |
1 # Vulcanizing Chrome Polymer UIs | 1 # Vulcanizing Chrome Polymer UIs |
2 | 2 |
3 `vulcanize` is an npm module used to combine resources. In order to make the | 3 `vulcanize` is an npm module used to combine resources. In order to make the |
4 Material Design downloads and history pages sufficiently fast, we run vulcanize | 4 Material Design downloads and history pages sufficiently fast, we run vulcanize |
5 on the source files to combine them and reduce blocking load/parse time. | 5 on the source files to combine them and reduce blocking load/parse time. |
6 | 6 |
7 ## Required software | 7 ## Required software |
8 | 8 |
9 Vulcanization currently requires: | 9 Vulcanization currently requires: |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 We recommend telling npm where to store downloaded modules: | 23 We recommend telling npm where to store downloaded modules: |
24 | 24 |
25 ```bash | 25 ```bash |
26 $ npm config set -g prefix "$HOME/node_modules" | 26 $ npm config set -g prefix "$HOME/node_modules" |
27 ``` | 27 ``` |
28 | 28 |
29 Then install the required modules: | 29 Then install the required modules: |
30 | 30 |
31 ```bash | 31 ```bash |
32 $ npm install -g crisper vulcanize uglifyjs polymer-css-build | 32 $ npm install -g crisper@2.0.1 vulcanize@1.14.8 uglifyjs@2.4.10 \ |
| 33 polymer-css-build@0.0.6 |
33 ``` | 34 ``` |
34 | 35 |
35 Ultimately, all that is required to run this script is that the node binaries | 36 Ultimately, all that is required to run this script is that the node binaries |
36 listed above are on your $PATH. | 37 listed above are on your $PATH. |
37 | 38 |
38 ## Combining resources with vulcanize | 39 ## Combining resources with vulcanize |
39 | 40 |
40 To combine all the CSS/HTML/JS for all pages which use vulcanize, making them | 41 To combine all the CSS/HTML/JS for all pages which use vulcanize, making them |
41 production fast, you can run the command: | 42 production fast, you can run the command: |
42 | 43 |
43 ```bash | 44 ```bash |
44 $ chrome/browser/resources/vulcanize.py # from src/ | 45 $ chrome/browser/resources/vulcanize.py # from src/ |
45 ``` | 46 ``` |
46 | 47 |
47 This should overwrite the following files: | 48 This should overwrite the following files: |
48 | 49 |
49 - chrome/browser/resources/md_downloads/ | 50 - chrome/browser/resources/md_downloads/ |
50 - vulcanized.html (all <link rel=import> and stylesheets inlined) | 51 - vulcanized.html (all <link rel=import> and stylesheets inlined) |
51 - crisper.js (all JavaScript, extracted from vulcanized.html) | 52 - crisper.js (all JavaScript, extracted from vulcanized.html) |
52 - chrome/browser/resources/md_history/ | 53 - chrome/browser/resources/md_history/ |
53 - app.vulcanized.html | 54 - app.vulcanized.html |
54 - app.crisper.js | 55 - app.crisper.js |
55 | 56 |
56 ## Testing downloads without vulcanizing | 57 ## Testing downloads without vulcanizing |
57 | 58 |
58 Build with `use_vulcanize = false` in your gn args to build without vulcanizing. | 59 Build with `use_vulcanize = false` in your gn args to build without vulcanizing. |
OLD | NEW |