Webpack 将Nuxt模块放入故事书中
我试图用Nuxt项目中的组件制作一本故事书。到目前为止,我已经看到了这些组件,但它们都使用了至少一个模块,我找不到导入它们的方法。我似乎并不孤独地面对我的挣扎 ),Webpack 将Nuxt模块放入故事书中,webpack,vuejs2,nuxt.js,storybook,Webpack,Vuejs2,Nuxt.js,Storybook,我试图用Nuxt项目中的组件制作一本故事书。到目前为止,我已经看到了这些组件,但它们都使用了至少一个模块,我找不到导入它们的方法。我似乎并不孤独地面对我的挣扎 ), 但我希望有人能找到解决办法。 .storybook/webpack.config.js: const path = require("@storybook\vue\dist\server\config\defaults\webpack.config.js"); module.exports = { module: {
但我希望有人能找到解决办法。
.storybook/webpack.config.js:
const path = require("@storybook\vue\dist\server\config\defaults\webpack.config.js");
module.exports = {
module: {
rules: [
{
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"],
include: path.resolve(__dirname, "../")
}
]
}
};
import { configure } from '@storybook/vue';
import Vue from 'vue';
const components = require.context('../components', true, /\.vue$/)
const stories = require.context('../components/stories', true, /.stories.js$/)
components.keys().forEach(filename => {
const [, componentName] = filename.match(/([\w-]+)(.vue)/)
Vue.component(componentName, components(filename).default)
})
function loadStories() {
stories.keys().forEach((filename) => req(filename))
};
configure(loadStories, module);
.storybook/config.js:
const path = require("@storybook\vue\dist\server\config\defaults\webpack.config.js");
module.exports = {
module: {
rules: [
{
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"],
include: path.resolve(__dirname, "../")
}
]
}
};
import { configure } from '@storybook/vue';
import Vue from 'vue';
const components = require.context('../components', true, /\.vue$/)
const stories = require.context('../components/stories', true, /.stories.js$/)
components.keys().forEach(filename => {
const [, componentName] = filename.match(/([\w-]+)(.vue)/)
Vue.component(componentName, components(filename).default)
})
function loadStories() {
stories.keys().forEach((filename) => req(filename))
};
configure(loadStories, module);
我也遇到了同样的问题,但很难找到解决办法,我终于找到了 您的.storybook/webpack.config.js应该如下所示:
module.exports = ({ config }) => {
config.module.rules.push({
test: /\.scss$/,
use: [
'vue-style-loader',
'sass-loader',
{
loader: 'css-loader',
options: {
modules: true,
modules: {
localIdentName: '[hash:base64:6]'
},
},
},
],
});
return config;
}
以下资源对我很有帮助:
(截至2019年11月,部分内容已过时)
这不起作用。您仍然会遇到这样的错误:请确保“选项”是字符串或字符串数组,具有有效的文件路径。