Skip to content
This repository was archived by the owner on Oct 13, 2022. It is now read-only.

Commit 50ff41e

Browse files
authored
Make images cacheable (#248)
1 parent a3bd16e commit 50ff41e

File tree

5 files changed

+28
-3
lines changed

5 files changed

+28
-3
lines changed

package_template.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@
3333
"@rollup/plugin-commonjs": "^14.0.0",
3434
"@rollup/plugin-node-resolve": "^8.0.0",
3535
"@rollup/plugin-replace": "^2.2.0",
36+
"@rollup/plugin-url": "^5.0.0",
3637
"rollup": "^2.3.4",
3738
"rollup-plugin-svelte": "^6.0.0",
3839
"rollup-plugin-terser": "^7.0.0"
3940
}
4041
},
4142
"webpack": {
4243
"devDependencies": {
44+
"file-loader": "^6.0.0",
4345
"svelte-loader": "^2.9.0",
4446
"webpack": "^4.7.0",
4547
"webpack-modules": "^1.0.0"

rollup.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import path from 'path';
12
import resolve from '@rollup/plugin-node-resolve';
23
import replace from '@rollup/plugin-replace';
34
import commonjs from '@rollup/plugin-commonjs';
5+
import url from '@rollup/plugin-url';
46
import svelte from 'rollup-plugin-svelte';
57
import babel from '@rollup/plugin-babel';
68
import { terser } from 'rollup-plugin-terser';
@@ -30,6 +32,10 @@ export default {
3032
hydratable: true,
3133
emitCss: true
3234
}),
35+
url({
36+
sourceDir: path.resolve(__dirname, 'src/node_modules/images'),
37+
publicPath: '/client/'
38+
}),
3339
resolve({
3440
browser: true,
3541
dedupe: ['svelte']
@@ -75,6 +81,11 @@ export default {
7581
hydratable: true,
7682
dev
7783
}),
84+
url({
85+
sourceDir: path.resolve(__dirname, 'src/node_modules/images'),
86+
publicPath: '/client/',
87+
emitFiles: false // already emitted by client build
88+
}),
7889
resolve({
7990
dedupe: ['svelte']
8091
}),
File renamed without changes.

src/routes/index.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<script>
2+
import successkid from 'images/successkid.jpg';
3+
</script>
4+
15
<style>
26
h1, figure, p {
37
text-align: center;
@@ -39,7 +43,7 @@
3943
<h1>Great success!</h1>
4044

4145
<figure>
42-
<img alt='Success Kid' src='successkid.jpg'>
46+
<img alt="Success Kid" src="{successkid}">
4347
<figcaption>Have fun with Sapper!</figcaption>
4448
</figure>
4549

webpack.config.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ const dev = mode === 'development';
1010
const alias = { svelte: path.resolve('node_modules', 'svelte') };
1111
const extensions = ['.mjs', '.js', '.json', '.svelte', '.html'];
1212
const mainFields = ['svelte', 'module', 'browser', 'main'];
13+
const fileLoaderRule = {
14+
test: /\.(png|svg|jpg|gif)$/,
15+
use: [
16+
'file-loader',
17+
]
18+
};
1319

1420
module.exports = {
1521
client: {
@@ -28,7 +34,8 @@ module.exports = {
2834
hotReload: false // pending https://github.com/sveltejs/svelte/issues/2377
2935
}
3036
}
31-
}
37+
},
38+
fileLoaderRule
3239
]
3340
},
3441
mode,
@@ -62,7 +69,8 @@ module.exports = {
6269
dev
6370
}
6471
}
65-
}
72+
},
73+
fileLoaderRule
6674
]
6775
},
6876
mode,

0 commit comments

Comments
 (0)