ã«ãŒããã£ã¬ã¯ããªã«ãããŒããµãŒããŒããã®/public/...
ãã¹ãšããŠæ©èœããéçãã©ã«ããŒåpublic
ãããŸãã ã€ãŸããç»åãšCSSãã¡ã€ã«ã¯ãã®/public/
ãã¬ãã£ãã¯ã¹ã§æäŸãããŸãã
ãããã次ã®ã³ãã³ãã§StoryBookã䜿çšãããšïŒ start-storybook -p 6006 -s ./public
/public/
ã®ãã¹ã¯äœ¿çšã§ããªããªããŸããã
ããã§ãã«ãŒããã£ã¬ã¯ããªãæäŸããããã«ã³ãã³ããstart-storybook -p 6006 -s ./
ã«å€æŽããŸãããããã¹ãŠåé¡ãããŸããã
ããããã³ãã³ãbuild-storybook -s ./
ã䜿çšããŠã¹ããŒãªãŒããã¯ãäœæãããšãã¹ã¯ãªããã¯ã«ãŒããã£ã¬ã¯ããªå
ã®ãã¹ãŠã®ãã¡ã€ã«ãstorybook-static
ã³ããŒããŸãã
ãŸããã³ãã³ããbuild-storybook -s ./public
ã«å€æŽãããšããã¬ãã£ãã¯ã¹ã/public/
ã®ãã¹ã¯äœ¿çšã§ããªããªããŸãã
éçãã£ã¬ã¯ããªã®ãã¹ãæå®ããæ¹æ³ã¯ãããŸããïŒ
ããŒãããã®åé¡ã¯çŽbuild-storybook
ããããã©ã®ããã«æ©èœãããã調ã¹ãå¿
èŠããããŸãã
ã«ã¹ã¿ã ããã«ãŠã§ã¢ãè©ŠããŠã¿ãããšãã§ããŸããïŒããããæ©èœãããã©ããã¯ããããŸããããæ©èœããå¯èœæ§ããããŸãã
https://github.com/storybooks/react-storybook/pull/435#issuecomment -264813688
https://github.com/storybooks/react-storybook/blob/master/src/server/middleware.js#L35
ïŒ+1ïŒããã¯åé¡ã§ã-ã¹ããŒãªãŒããã¯ãäœæããããã§ã¯ãªããéçºã®ããã«äœ¿çšããã ãã§ãã
ããã«ãŠã§ã¢ã§åäœãããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
const express = require('express');
const path = require('path');
const paths = require("../config/paths");
const expressMiddleWare = (router) => {
console.log(path.join(__dirname), paths.appPublic);
router.use('/public', express.static(paths.appPublic))
};
module.exports = expressMiddleWare;
ç§ã¯ããã®PRãååŸããããšããŸãããæéã®atmããããã©ããã¯ããããŸãã
ãœãªã¥ãŒã·ã§ã³ãå ±æããŠããã ãããããšãããããŸãã â€ïž
çããããã«ã¡ã¯ïŒ æè¿ããã®åé¡ã¯ããŸãé²ãã§ããªãããã§ãã ããã§ã質åãã³ã¡ã³ãããã°ãããå Žåã¯ãé æ ®ãªãè°è«ãç¶ããŠãã ããã æ®å¿µãªããããã¹ãŠã®åé¡ã«åãçµãæéããããŸããã ç§ãã¡ã¯ãã€ã§ãå¯ä»ãåãä»ããŠããŸãã®ã§ãå©ããå¿ èŠãªå Žåã¯ãã«ãªã¯ãšã¹ããéã£ãŠãã ããã éã¢ã¯ãã£ããªåé¡ã¯60æ¥åŸã«ã¯ããŒãºãããŸãã ããããšãïŒ
ããããŸãç§ã ïŒ ä»£ããã«ãã¡ã³ãããçŸåšã®éçºããŒããããã«éäžã§ããããã«ããã®åé¡ã解決ããŸãã äžèšã®åé¡ãåŒãç¶ãæžå¿µãããå Žåã¯ãæ°ãããã±ãããéããŠããã®å€ããã±ããã«ã€ããŠèšåããŠãã ããã Storybookããå©çšããã ãããããšãããããŸãã
ããã«ã¡ã¯ïŒ @ndelangen @hansthinhle @patrickgordon
ç§ã¯ãŸã£ããåãåé¡ã«çŽé¢ããŠããŸãã ããã¯ä»ãŸã§ã«è§£æ±ºãããŸãããïŒ
ããããšãïŒ
ããã«ã¡ã¯@ aviramga-ç§ãããã€ãæçš¿ããç§ã®è§£æ±ºçã¯ç§ãã¡ã®ããã«ããã解決ããŸããã ç§ã¯ããã解決ããããã«PRãããããšã決ããŠåé¿ããŸããã§ããã
ç§ã®èšæ¶ããžã§ã®ã³ã°ãããä»ã§ãå®éã«ããããããããããŸãã:)
ããã«ã¡ã¯@patrickgordonã æ²ããããšã«ãç§ã®åé¡ã¯ãã«ãã¹ããŒãªãŒããã¯ã ãã«ãããŸãïŒ/
ç§ã¯ãããPercyãšããããŒã«ãšäžç·ã«äœ¿çšããŠãã¢ããªã®UIã®åé¡ãèŠã€ããŠããŸãã
ãã«ãã®ãœãªã¥ãŒã·ã§ã³ãèŠã€ããããšãã§ããŸãããïŒ
ã·ã³ããªãã¯ãªã³ã¯ã䜿çšããŠãããåé¿ã§ããããã§ãã
ä»»æã®ååïŒäŸïŒ static-link
ïŒã®ãã£ã¬ã¯ããªãè¿œå ãã次ã®å
容ã®public
ïŒæ¡åŒµåãªãïŒãšãããã¡ã€ã«ãããã«é
眮ããŸãã
../public
ããããã°ã -s static-link
å¿
èŠãªããšãéæã§ããã¯ãã§ãã
@Hypnosphiãã³ããããããšãïŒ ããããããã¯ããŸããããªãããã§ãã
ãããã©ã®ããã«æ©èœããã説æã§ããŸããïŒ
ç§ã®ãã¹ãŠã®éçãã¡ã€ã«ã¯ããstaticããšããååã®ãã£ã¬ã¯ããªã®äžã«ãããŸãïŒãããªãã¯ã§ã¯ãããŸããïŒã
ç§ã¯ããŸããããªãã£ãæ¹æ³ãè©ŠããŸããïŒ
äœãã¢ããã€ã¹ïŒ
ããããšã
ã©ã®OSã䜿çšããŠããŸããïŒ
https://en.wikipedia.org/wiki/Symbolic_link#Overview
ãšã©ãŒã¯äœã§ãããïŒ
Mac High Sierra
@Hypnosphiã§ãããæ£ããç解ã§ããããã«ããããã«ãäŸããŠãŒã¹ã±ãŒã¹ã«åãããŠèª¿æŽããã«ã¯ãæ°ãããã£ã¬ã¯ããªãåäœæããå¿ èŠããããŸããããšãã°ãstatic-linkã«staticãšããååã®ãã¡ã€ã«ãé 眮ãããã®äžã«../staticãšèšè¿°ããŸãã
æ£ããïŒ
OKãã·ã³ããªãã¯ãªã³ã¯ãäœæããããã®ç§ã®æ瀺ãééã£ãŠããããã§ãã æ£ããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
mkdir static-link
ln -s static static-link/static
éçãªã³ã¯ãã£ã¬ã¯ããªã«ããã¡ã€ã«ããäœæããgitã§å ±æã§ããŸãïŒãã ããWindowsã§ã¯æ©èœããŸããïŒã
@Hypnosphiç§ã¯ããã
ããããæ°žç¶çã§ããå¿ èŠããããŸã
@HypnosphiãããããŸã æ©èœããŠããŸããã ãã«ãäžã«ã次ã®ãããªãã°ã衚瀺ãããŸãã
cpïŒãã®ãããªãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã¯ãããŸããïŒstatic-link / static
äžèšã®æ瀺ã«åŸããŸããã ã ããç§ã¯éçããéçãªã³ã¯/éçãžã®ã·ã³ããªãã¯ãªã³ã¯ãæã€éçãªã³ã¯ãšåŒã°ãã空ã®ãã£ã¬ã¯ããªãæã£ãŠããŸã
ç§ã¯äœãééã£ãŠããã®ã§ããïŒ
æéãå²ããŠæäŒã£ãŠãããŠæ¬åœã«ããããšã:)
ãããŠãããªãã¯-s static-link
ãªãã·ã§ã³ã䜿çšããŸãããïŒ
@Hypnosphiã¯build-storybook-c .storybook -s static-linkãæå³ããŸããïŒ
ã¯ã
ç§ããããŸã
ç³ãèš³ãããŸããããã¿ã€ããã¹ããŸããïŒ
ln -s ../static static-link/static
@Hypnosphi
ãªã../staticïŒ
éçãªã³ã¯ãã£ã¬ã¯ããªã空ã§ããããšã¯æ£ããã§ããïŒ
ãã©ã€ããŒããªäŒè©±ã«ç§»ããæçµçµæãããã«å
¬éããããšæããããããŸããã ç§ãã¡ã¯éåžžã«è¿ãã«ããããã«æããŸãããããŠããã¯ãã ã®èª€è§£ã§ã:)
ãªã³ã¯ã®å Žæãããªã³ã¯ã®ã¿ãŒã²ãããŸã§ã®çžå¯Ÿãã¹ã§ã
@Hypnosphi絶察ãã¹ã䜿çšããŠåäœãããããšãã§ããŸãã.....ããããã»ããã©ã«åãããžãã¯ãå®è£ ãããã®ã§ãçžå¯Ÿãã¹ã§åäœãããå¿ èŠããããŸã
@Hypnosphiã¯åé¿çãèŠã€ããŸããã æ¬åœã«ããããšãããããŸãããããªãã¯åœã®æ©äººã§ãïŒ
ããã解決ããããã®ãã³ãã¯ãããŸããïŒ
ã¯ããäžèšã®ãœãªã¥ãŒã·ã§ã³ãå®è¡ããã ãã§ãã ã·ã³ããªãã¯ãªã³ã¯ã䜿çšããln -s /<absolute-path-your-static-directory> storybook-static-symlink/static
@aviramgaãã®æ¹æ³ã¯ãŸã æ©èœããŠããŸããïŒ ã·ã³ããªãã¯ãªã³ã¯ã䜿çšããŠéãæªãã
ç§ã®ãã©ã«ãæ§é
|- docs
|- folders-with-images
|- sandbox (holds my storybook files)
|- src
|- README.md with image paths `/docs/folder/image.png`
ããã«ãŠã§ã¢ãã¡ã€ã«ã䜿çšããŠã¹ããŒãªãŒããã¯start-storybook -c sandbox -s sandbox,docs -p 6006
ãæäŸãããšããããæ©èœãããããšãã§ããŸãã
const express = require('express');
const path = require('path');
module.exports = router => {
router.use('/docs', express.static(path.join(__dirname, '..', 'docs')));
}
ãããã䜿çšããŠã·ã³ããªãã¯ãªã³ã¯ãè¿œå ããln -s /docs sandbox/docs
ããå®è¡ããŠããbuild-storybook -c sandbox -s sandbox,docs -o storybook
ãŸã åäœããŸããã
docs
å
ã®ãã©ã«ãã¯ã³ããŒãããŸãããå¿
èŠãªãã¡ã€ã«ãã¹ã¯/docs/folder/image.png
ãããç»å404ã§ãã
ãŸããããã解決ããããã«éçãªã³ã¯ã䜿çšããããšã«æåããŸããïŒ
package.jsonïŒ
"scripts": {
"storybook": "(mkdir ./src/static-link || true) && (ln -s ../static ./src/static-link/static || true) && start-storybook -p 6006 -s ./src/static-link"
}
ãã¹ãŠã®éçºè ãåãOSã䜿çšããŠããããã§ã¯ãªãå Žåã«åããŠãäºææ§ã®çç±ãããpackage.jsonã¹ã¯ãªãããä»ããŠã·ã³ããªãã¯ãªã³ã¯ãäœæããªãããšããå§ãããŸãã
å¥ã®æ¹æ³ãšããŠã次ã®ããã«.storybook /webpack.config.jsãã¡ã€ã«ã®copy-webpack-pluginã䜿çšããããšããå§ãããŸãã
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = config => {
function resolve(dir) {
return path.join(__dirname, '..', dir);
}
// Other configuration properties
config.plugins.push(
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, 'static-foo'),
to: '.'
},
{
from: path.resolve(__dirname, '../static-bar'),
to: './bar'
}
])
);
return config;
}
äŸãã°ããã¯ããã£ã¬ã¯ããªã®å
容ãããŠã³ãããŸã.storybook/static-foo
ã«http://localhost:6006/
ãšã®å
容static-bar
ã«http://localhost:6006/bar/
ã
ãŸãã push
ã䜿çšããŠplugins
é
åã«è¿œå ããStorybookWebpackã®æ§æãå£ãå¯èœæ§ã®ããä»ã®ãã©ã°ã€ã³ã®äžæžããåé¿ããããšã«ã泚æããŠãã ããã
å°æ¥ã®åèã®ããã«ãã·ã³ããªãã¯ãªã³ã¯ã¯ãŸã£ããåé¡ãªã䜿çšã§ããŸãã ããããçžå¯Ÿãã¹ã§äœ¿çšããå¿ èŠãããå Žåã¯ã次ã®ããã«-rã¹ã€ããã䜿çšããã ãã§ããln-rsdir1 dir2
å人çã«ã¯ãã¹ããŒãªãŒããã¯ãéçãã£ã¬ã¯ããªå šäœãã³ããŒããã®ã«é©ããŠãããšæãããå Žåã¯ãããã¥ã¡ã³ãã«æ確ã«èšèŒããå¿ èŠããããšæããŸãã ãã以å€ã®å Žåã¯ã代ããã«é©åãªã·ã³ããªãã¯ãªã³ã¯ãäœæããåäœã«åãæ¿ããå¿ èŠããããŸãã é床ã®ãã£ã¹ã¯å®¹é䜿çšã«ãããµãŒããŒãã¯ã©ãã·ã¥ããŠãããããã³ããŒã®ããšãç¥ããŸããã
ãããã£ãŠãåºæ¬çã«ã¯å ¬åŒã®çµã¿èŸŒã¿ãœãªã¥ãŒã·ã§ã³ã¯ãªãããã¹ãŠã®ããœãªã¥ãŒã·ã§ã³ãã¯ã©ã³ãã ãªãã ããªãããã¯ã§ã:)
ãã¹ãŠã®éçºè ãåãOSã䜿çšããŠããããã§ã¯ãªãå Žåã«åããŠãäºææ§ã®çç±ãããpackage.jsonã¹ã¯ãªãããä»ããŠã·ã³ããªãã¯ãªã³ã¯ãäœæããªãããšããå§ãããŸãã
å¥ã®æ¹æ³ãšããŠã次ã®ããã«.storybook /webpack.config.jsãã¡ã€ã«ã®copy-webpack-pluginã䜿çšããããšããå§ãããŸãã
const path = require('path'); const CopyWebpackPlugin = require('copy-webpack-plugin'); module.exports = config => { function resolve(dir) { return path.join(__dirname, '..', dir); } // Other configuration properties config.plugins.push( new CopyWebpackPlugin([ { from: path.resolve(__dirname, 'static-foo'), to: '.' }, { from: path.resolve(__dirname, '../static-bar'), to: './bar' } ]) ); return config; }
äŸãã°ããã¯ããã£ã¬ã¯ããªã®å 容ãããŠã³ãããŸã
.storybook/static-foo
ã«http://localhost:6006/
ãšã®å 容static-bar
ã«http://localhost:6006/bar/
ããŸãã
push
ã䜿çšããŠplugins
é åã«è¿œå ããStorybookWebpackã®æ§æãå£ãå¯èœæ§ã®ããä»ã®ãã©ã°ã€ã³ã®äžæžããåé¿ããããšã«ã泚æããŠãã ããã
ããã¯æ©èœããŸãã;ïŒ
.storybook / webpack.config.js
ïŒéçãã©ã«ããŒããããžã§ã¯ãã®ã«ãŒããã©ã«ããŒã«ãããšä»®å®ããŸãïŒ
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = async ({ config }) => {
function resolve(dir) {
return path.join(__dirname, '..', dir);
}
// Other configuration properties
config.plugins.push(
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../../static'),
to: './static'
}
])
);
return config;
}
@mtrabelsiã¯ããã€ãã®çç±ã§ç§ã®ããã«åäœããŸãã...
ãŸãã .storybook
ãã©ã«ããŒã¯root
ãã1ã¬ãã«ã®æ·±ãã«ããã2åã®æ·±ãã§ã¯ãªããããã¿ã€ãããããšæããŸãã ãããã£ãŠã次ã®ããã«åãæ¿ããå¿
èŠããããŸãã
from - from: path.resolve(__dirname, '../../static')
to - from: path.resolve(__dirname, '../static')
"copy-webpack-plugin"ïŒ "^ 5.0.4"
ãã¹ãŠã®éã¯æ£ããã§ãã ããã«ãã§ãã¯ã
æŽæ°
.storybook/
ãã©ã«ããŒå
ã«middleware.js
ãã¡ã€ã«ãäœæããããšã§ã @ BradMcGonigleã®åçãäžäœã«ããããšãããããŸããã
const express = require('express');
const path = require('path');
module.exports = router => {
router.use('/docs', express.static(path.join(__dirname, '..', 'docs')));
}
@BiosBoyã¯ãããã§ã®æ··ä¹±ãé¿ããããã«ãç§ã®ãããžã§ã¯ãæ§é ã«ã€ããŠã®ã¢ã€ãã¢ïŒããªããç¥ãå¿ èŠããããã®ã ãïŒïŒ
My_sweet_projet_ROOT_DIR / components / .storybook / webpack.config.js
My_sweet_projet_ROOT_DIR / static
ãŸããnext.jsãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãšããŠäœ¿çšããcomponentsãã©ã«ããŒããreactã³ã³ããŒãã³ããæ¶è²»ããŸãã
ããã«ç§ã®ã»ããã¢ããïŒããªãã¯ããªãã®åŽã§ãããåçŸããããšãã§ããŸã-ç§ã¯ããªããä¿¡é ŒããŸãïŒDïŒ
My_sweet_projet_ROOT_DIR / package.json
{
"name": "sweet_like_butter",
"version": "0.1.0",
"private": true,
"dependencies": {
"@zeit/next-css": "^1.0.1",
"next": "^8.1.0",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"styled-components": "^4.2.0"
},
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"devDependencies": {
"babel-plugin-styled-components": "^1.10.0"
}
}
My_sweet_projet_ROOT_DIR / next.config.js
const withCSS = require('@zeit/next-css')
module.exports = withCSS()
ããŒã¹ã¿ã°ã䜿çšããããšã§ãåæ§ã®åé¡ãåé¿ããããšãã§ããŸããã
manager-head.html
ãã¡ã€ã«ãäœæããŸãã https://storybook.js.org/docs/configurations/add-custom-head-tags/<head>
<script>
const hostname = window.location.hostname
if (hostname !== "" && hostname !== "localhost") {
const script = document.createElement('base')
script.href = '/storybook-static/'
document.getElementsByTagName('head')[0].appendChild(script)
}
</script>
</head>
ïŒscript.href =ä»»æã®ãã¹ãžïŒ
index.htmlå ã®ãã¡ã€ã«ã¯ãæå®ããããã¬ãã£ãã¯ã¹ã§ååŸãããããã«ãªããŸãã
ãã®åäœãStorybookã«çµã¿èŸŒãã¹ãã§ã¯ãããŸãããããã§ã -s ./static
ãã©ã°ãç«ãŠããšãã¹ããŒãªãŒããã¯ã§ãæ¬çªç°å¢ãšåãããã«ãã¹ãæ©èœããŸããïŒ Storybookã«éçãã£ã¬ã¯ããªã./static
ã§ãããšäŒãããšãçžå¯Ÿãã¹ïŒ ./static/image.png
ãªã©ïŒã代ããã«./image.png
ããããéæããªã·ã³ããªãã¯ãªã³ã¯ã䜿çšããå¿
èŠãããããšã¯ç¡æå³ã«æããŸãð€
@eckmLJEäžèšã§æçš¿ããã¹ããããã䜿çšããå Žåãè¿œå ã®Webpackæ§æãã·ã³ããªãã¯ãªã³ã¯ããªããŠãæ©èœããã¯ãã§ãã ãã ãããã«ãããã»ã¹ã®äžéšãšããŠãããèªåçã«åºåããããšãæ€èšã§ããŸãã
ç§ã¯ãŸã 2020幎ã«åé¡ã«çŽé¢ããŠããŸã...
ç§ã®å Žåã¯éåžžã«åçŽã§ããç§ã®package.json
ã¯æ¬¡ã®ã¹ã¯ãªããããããŸãïŒ "storybook": "start-storybook -s ./dist/img -p 8888"
ãããã£ãŠã npm run storybook
ãå®è¡ãããšã info => Loading static files from: /home/vagrant/projects/MySuperProject/web/themes/ofb/ofb_ui/dist/img .
衚瀺ãããŸãã
ãããããã®URLã䜿çšããŠãã©ãŠã¶ããdist/img
ãã£ã¬ã¯ããªå
ã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããšãããšãæ©èœããŸããïŒ http://localhost:8888/myImage.png
.. ..
ã ããã¿ããªãããã¯ãã°ã§ããããããšãç§ã¯äœãééã£ãããšãããŠããŸããïŒ
@ndelangenããã6.0ã®
CopyWepbackPlugin
ã®APIãå€æŽãããããã§ã次ã®ãããª@mtrabelsiãœãªã¥ãŒã·ã§ã³ã«pattern
ããŒãè¿œå ããå¿
èŠããããŸãã
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = async ({ config }) => {
config.plugins.push(
new CopyWebpackPlugin({
pattern: [
{
from: path.resolve(__dirname, '../../static'),
to: './static'
}
]
})
);
return config;
}
ãã®åé¡ã«é¢é£ãã2ã»ã³ããè¿œå ããŸãã å¯æ¥ã«é¢é£ããŠãããšæããŸãããç§ã®ãœãªã¥ãŒã·ã§ã³ã¯@mtrabelsiãšã¯ç°ãªãã build-storybook
ã³ãã³ãã®çµæã§ãã./staticãã£ã¬ã¯ããªã«ã¢ã»ãããã³ããŒããã ãã§ã¯äžååã§ããããšãããããŸããã å
·äœçã«ã¯ãéçã¢ããªãhttp://example.com/docs
ããéçã¢ããªãæäŸããTomcatãµãŒããŒã«ãããã€ããå Žåãdocsã¯ãµãŒããŒäžã®Tomcat webapps /ã«ãããã£ã¬ã¯ããªã§ãã
ãµããã¹ãåå ã§ã/ staticãã£ã¬ã¯ããªå
ã®/ cssãã£ã¬ã¯ããªå€ã®ãã¡ã€ã«ã¯ããŒããããŸããã§ããã ç§ã¯ïŒããããå±éãããããŒãžã§ã³ã«ããŒãããããã«å€±æããéçãªè³ç£ã ã£ãïŒç»åããã©ã³ãã®çžå¯Ÿãã¹ã䜿çšããŠããŸãã ãããã£ãŠã https://example.com/img/path/to/my/image
ãããªãªã¯ãšã¹ãã¯ã/ staticãè¿œå ããå¿
èŠããããšãã«å€±æããŸãããã€ãŸãã https://example.com/static/img/path/to/my/image
ç§ã®ãœãªã¥ãŒã·ã§ã³ã¯ãç§ãèšã£ãããã«ã @ mtrabelsiã«éåžžã«è¿ã
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = async ({ config }) => {
function resolve(dir) {
return path.join(__dirname, '..', dir);
}
// Other configuration properties
config.plugins.push(
new CopyWebpackPlugin({
pattern: [
{
from: path.resolve(__dirname, './_assets'), // My static font and images are located in the .storybook dir
to: './' // Drop both the fonts/ and img/ directory into the root of the build output.
}
]
})
);
return config;
}
ãã®åŸãç»åãšãã©ã³ããé©åã«èªã¿èŸŒãŸããŸããã
@tmeasdayã®ææ¡ïŒ start-storybook
ãšbuild-storybook
äž¡æ¹ã«è¡šç€ºãããããã«ããããmain.js
ãªãã·ã§ã³ã«ã§ããªãã®ã¯ãªãã§ããã
@ vcastro45 start- storybookã®äž¡æ¹ã§ããããã¹ãããŸããããæ©èœããŠããããã§ãïŒ next
ãã©ã³ãã§ãã¹ãæžã¿ïŒã
è€è£œã¬ããäœæããŠããã ããŸãããïŒ
@shilmanå¯èœã§ãããããªã»ããã»ããã¢ãããããæã¡äžããå¿
èŠããããŸã
https://github.com/storybookjs/storybook/blob/9ea455a1746c489b7364448212663f2445af8a8b/lib/core/src/server/manager/manager-config.js#L101 -L102
ããã®åã«ïŒ
https://github.com/storybookjs/storybook/blob/19c2420db80fcb3b89b34cdbbe03bf9010b0b3b2/lib/core/src/server/build-static.js#L190 -L191
ãããŠãããããã«ã/éçºãã§ãŒã³ã®ãã¹ãŠã®äžäœé¢æ°ã«æž¡ããŸãã
ããã¯ããªãã®ãªãã¡ã¯ã¿ãªã³ã°ã§ããã1æ¥ã§ã§ããããšã§ã¯ãããŸããã
ãŸãããã¹ãŠãTSã«ç§»è¡ããããã1ã€ã®ç¬éã§ããããŸãã ãšã«ããlib / coreã®ãã¡ã€ã«ã®50ïŒ ã«è§ŠããŠããã®ã§ã
@ndelangen OOFãä»ã¯ãããŸãããð
ããããã€ããããŸã
@ndelangenç§ã¯ïŒ11370ã§@tmeasdayãšã®è°è«ãããã®åé¿çãææžåããŠããŸããã ãã®æ§æãmain.js
ã«ç§»åããé倧ãªå€æŽã§ã¯ãªãæ©èœãšããŠ6.xã§ãã®ãŠãŒã¹ã±ãŒã¹ããµããŒããããªãã·ã§ã³ãè¿œå ããããšãææ¡ããŸãã
/static
ãã¹äžã®./public
ããéçãã¡ã€ã«ãæäŸããstart-storybook -p 6006 -s "./public:/static"
ãããªãœãªã¥ãŒã·ã§ã³ãå®è£
ãããŠãããšæããŸããïŒ ããã¯éåžžã«æè»ãªäœ¿çšæ³ã«ã€ãªãããç§ãã¡ã®å€ãããã§ã«ç²ŸéããŠãããã¹ãããã³ã°ã®Dockerã®èŠåã«é©åããŸãã
çããããã«ã¡ã¯ïŒ æè¿ããã®åé¡ã¯ããŸãé²ãã§ããªãããã§ãã ããã§ã質åãã³ã¡ã³ãããã°ãããå Žåã¯ãé æ ®ãªãè°è«ãç¶ããŠãã ããã æ®å¿µãªããããã¹ãŠã®åé¡ã«åãçµãæéããããŸããã ç§ãã¡ã¯ãã€ã§ãå¯ä»ãåãä»ããŠããŸãã®ã§ãå©ããå¿ èŠãªå Žåã¯ãã«ãªã¯ãšã¹ããéã£ãŠãã ããã éã¢ã¯ãã£ããªåé¡ã¯30æ¥åŸã«ã¯ããŒãºãããŸãã ããããšãïŒ
@nfroidureããã¯ç¢ºãã«é¢çœãã¢ã€ãã¢ã§ãïŒ
@ndelangenãããããã°ãPRã§è©ŠããŠã¿ãããšãã§ããŸãã å䜵ããå¯èœæ§ã¯ãããŸããïŒ
@nfroidureã¯å®è¡å¯èœã§ãïŒ
ã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
https://github.com/storybookjs/storybook/blob/9182d9f5ddbe136e9cd5fc9f11fa962a3cfe08f1/lib/core/src/server/build-dev.js#L77 -L93
ããŠãç§ã¯ããã«äœããæã£ãŠããŸãïŒ https ïŒ
äžéšã®ãã¹ãã¯å€±æããŠããŸããããããã®å€±æãšç§ã®å€æŽãšã®éã«ãªã³ã¯ãèŠåœãããŸããã
LMKWYT;ïŒ
ãã®PR @ nfroidureãããããšãïŒ
ä»é±èŠãŠãããŸãïŒ
ZOMG !! ãã®åé¡ãåç §ããPRïŒ12222ãå«ãhttps://github.com/storybookjs/storybook/releases/tag/v6.1.0-alpha.6ããªãªãŒã¹ããŸããã ä»ããã¢ããã°ã¬ãŒãããŠãè©Šããã ããïŒ
ãã®ãã¬ãªãªãŒã¹ã¯@next
NPMã¿ã°ã«ãããŸãã
ãã®åé¡ãéããŸãã ãŸã ãŸã ããããšããããšæãããå Žåã¯ãå床éããŠãã ããã
ãã®æ°æ©èœã®äœ¿çšæ¹æ³ã®äŸã¯ãããŸããïŒ
æãåèã«ãªãã³ã¡ã³ã
/static
ãã¹äžã®./public
ããéçãã¡ã€ã«ãæäŸããstart-storybook -p 6006 -s "./public:/static"
ãããªãœãªã¥ãŒã·ã§ã³ãå®è£ ãããŠãããšæããŸããïŒ ããã¯éåžžã«æè»ãªäœ¿çšæ³ã«ã€ãªãããç§ãã¡ã®å€ãããã§ã«ç²ŸéããŠãããã¹ãããã³ã°ã®Dockerã®èŠåã«é©åããŸãã