Skip to content

Commit ac472ce

Browse files
committed
chore(examples): add example for vue
1 parent ce793f4 commit ac472ce

10 files changed

Lines changed: 11894 additions & 0 deletions

File tree

examples/vue/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.DS_Store
2+
node_modules
3+
/dist
4+
5+
6+
# local env files
7+
.env.local
8+
.env.*.local
9+
10+
# Log files
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
pnpm-debug.log*
15+
16+
# Editor directories and files
17+
.idea
18+
.vscode
19+
*.suo
20+
*.ntvs*
21+
*.njsproj
22+
*.sln
23+
*.sw?

examples/vue/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Vue Example
2+
3+
## Project setup
4+
5+
```
6+
npm install
7+
```
8+
9+
### Compile
10+
11+
```
12+
npm run build
13+
```

examples/vue/babel.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: ["@vue/cli-plugin-babel/preset"],
3+
};

examples/vue/package-lock.json

Lines changed: 11755 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/vue/package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "vue-example",
3+
"version": "1.0.0",
4+
"license": "MIT",
5+
"scripts": {
6+
"build": "vue-cli-service build"
7+
},
8+
"dependencies": {
9+
"core-js": "^3.6.5",
10+
"vue": "^3.0.0"
11+
},
12+
"devDependencies": {
13+
"@vue/cli-plugin-babel": "~4.5.0",
14+
"@vue/cli-service": "~4.5.0",
15+
"@vue/compiler-sfc": "^3.0.0",
16+
"webpack-image-resize-loader": "^3.0.5",
17+
"webpack-image-srcset-loader": "^3.0.1"
18+
}
19+
}

examples/vue/public/index.html

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1" />
7+
8+
<title>Vue App</title>
9+
</head>
10+
11+
<body>
12+
<noscript>
13+
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
14+
Please enable it to continue.</strong>
15+
</noscript>
16+
<div id="app"></div>
17+
</body>
18+
19+
</html>

examples/vue/src/App.vue

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<template>
2+
<div>
3+
<img
4+
style="width: 50vw"
5+
src="@/assets/Macaca_nigra_self-portrait_large.jpg"
6+
:srcset="
7+
require('@/assets/Macaca_nigra_self-portrait_large.jpg?srcset&quality=100')
8+
"
9+
/>
10+
<!-- for modern browsers: -->
11+
<picture>
12+
<source
13+
type="image/webp"
14+
:srcset="
15+
require('@/assets/Macaca_nigra_self-portrait_large.jpg?srcset&format=webp&quality=100')
16+
"
17+
/>
18+
<source
19+
type="image/jpeg"
20+
:srcset="
21+
require('@/assets/Macaca_nigra_self-portrait_large.jpg?srcset&quality=100')
22+
"
23+
/>
24+
<img
25+
style="width: 50vw"
26+
src="@/assets/Macaca_nigra_self-portrait_large.jpg"
27+
/>
28+
</picture>
29+
</div>
30+
</template>
1.6 MB
Loading

examples/vue/src/main.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { createApp } from "vue";
2+
3+
import App from "./App.vue";
4+
5+
createApp(App).mount("#app");

examples/vue/vue.config.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
module.exports = {
2+
publicPath: ".",
3+
chainWebpack: (config) => {
4+
config.module
5+
.rule("images")
6+
.test(/\.(png|jpe?g|gif|webp|tiff?)$/i)
7+
.oneOf("srcset")
8+
.resourceQuery(/srcset/)
9+
.use("srcset")
10+
.loader("webpack-image-srcset-loader")
11+
.options({
12+
sizes: ["500w", "1000w", "1500w", null],
13+
esModule: false,
14+
})
15+
.end()
16+
.use("resize")
17+
.loader("webpack-image-resize-loader")
18+
.end()
19+
.end()
20+
.oneOf("normal")
21+
.use("normal")
22+
.loader(config.module.rule("images").use("url-loader").get("loader"))
23+
.options(config.module.rule("images").use("url-loader").get("options"));
24+
25+
config.module.rule("images").uses.delete("url-loader");
26+
},
27+
};

0 commit comments

Comments
 (0)