Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 将vue项目构建为“项目”后的导入路径错误;图书馆;_Vue.js_Webpack_Vue Cli - Fatal编程技术网

Vue.js 将vue项目构建为“项目”后的导入路径错误;图书馆;

Vue.js 将vue项目构建为“项目”后的导入路径错误;图书馆;,vue.js,webpack,vue-cli,Vue.js,Webpack,Vue Cli,我目前正在编写一个小型vue组件库,供公司内部使用。然而,我在构建和部署项目时遇到了一些困难。此组件库中包含多个组件。它最终将通过vue cli服务构建--target lib进行构建。我现在面临的问题是,我有一个组件(即名为Audio.vue),它将在组件中导入一个.mp3文件。组件看起来像这样 从“vue”导入{defineComponent}; 从“/assets/sound.mp3”导入声音; 导出默认定义组件({ 名称:“音频”, 道具:{}, 设置(){ 返回{soundSrc:s

我目前正在编写一个小型vue组件库,供公司内部使用。然而,我在构建和部署项目时遇到了一些困难。此组件库中包含多个组件。它最终将通过
vue cli服务构建--target lib
进行构建。我现在面临的问题是,我有一个组件(即名为
Audio.vue
),它将在组件中导入一个.mp3文件。组件看起来像这样


从“vue”导入{defineComponent};
从“/assets/sound.mp3”导入声音;
导出默认定义组件({
名称:“音频”,
道具:{},
设置(){
返回{soundSrc:sound};
},
});
但是,我通过服务(
vue cli服务服务“
)使用此组件我的项目很好。但是如果我通过运行
vue cli服务build--target lib--name project name here
,来构建这个项目,并且通过导入
project name here.common
以前构建的
sound.mp3
import from
”./assets/sound.mp3,在另一个vue项目中将这个构建版本用作我的库的git子模块找不到
。它似乎正在使用我的另一个vue项目(即localhost:8080)的相对路径,而不是库项目

这是我的
vue.config.js

const path=require('path');
module.exports={
css:{
摘录:错,
},
林顿萨夫:错,
productionSourceMap:false,
配置网页包:{
决心:{
别名:{
mediaAsset:path.resolve(uuu dirname,'./src/components/Audio/assets'),
},
},
},
链接网页包:(配置)=>{
const imgRule=config.module.rule('images');
imgRule
.use('url-loader')
.loader('url-loader')
.tap((options)=>Object.assign(options,{limit:Infinity}));
const svgRule=config.module.rule('svg');
svgRule.uses.clear();
斯夫格鲁
.test(/\.svg$/)
.use('svg-url-loader')//npm安装--保存dev svg-url-loader
.loader(“svg-url-loader”);
config.module
.rule('raw')
.test(/\.txt$/)
.use('raw-loader')
.加载器(“原始加载器”);
config.module
.规则(“媒体”)
.test(/\(mp4 | webm | ogg | mp3 | wav | flac | aac)(\?*)$/)
.use('url-loader')
.loader('url-loader')
.点击((选项)=>
对象。分配(选项{
限额:4096,
回退:{
加载器:“文件加载器”,
选项:{
名称:'media/[name].[hash:8].[ext]',
},
},
})
);
},
};

非常感谢您回答这个问题。谢谢。

@MichalLevý抱歉,我还是一个webpack的初学者。是否有解决此问题的代码示例。谢谢。