2017-07-24 187 views
0

對於一個項目,我使用了一個庫,爲了在不同的應用程序之間共享Vue組件。解決npm模塊依賴關係

因此,我作爲一個npm模塊導入我的組件庫,並將其添加到應用程序package.json,並且工作正常。

問題是,當我嘗試在組件庫中的單個組件中導入某些內容時,應用程序無法解決該組件的依賴關係。在組件庫

如部分:在應用的package.json

<template> 
    <!-- my html --> 
    </template> 
    </script> 
    // my script 
    </script> 

    <style scoped> 
    // here I import the basic style for the component: 
    @import "../../assets/base"; 

我:

"components": "git+ssh://[email protected]:xxxxx/xxxxx/my-library.git#development", 

,然後我通常使用的成分在我的項目是這樣的:

import MyComponent from "./components/MyComponent.vue"; 

組件庫工作正常,但是當我在應用程序中導入組件時, e下面的錯誤從webpack:

This dependency was not found: 

* -!../../../../css-loader/index.js?sourceMap!../../assets/base in ./~/css-loader?sourceMap!./~/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-28803148","scoped":true,"hasInlineConfig":false}!./~/vue-loader/lib/selector.js?type=styles&index=0!./~/components/src/core/MyComponent.vue 
To install it, you can run: npm install --save -!../../../../css-loader/index.js?sourceMap!../../assets/base 

當然,如果我用@import替換實際的CSS需要一切工作正常。我怎樣才能使這個配置有效?

+0

您已經安裝並配置CSS-裝載機?這就是錯誤所指的。 –

+0

爲什麼使用組件的相對路徑?它應該是'node_modules'中的一個,並且導入將是'components/MyComponent.vue'。此外,CSS導入是'../../ assets/base',這是兩個目錄,如果它在'MyComponent.vue'中,這意味着它正在模塊之外尋找它,並且這樣做效果不好。那是故意的嗎? –

回答

0

我的壞,錯誤是根本就沒有在組件的樣式聲明加入LANG = 「SCSS」:

<style scoped> 

這應該是:

<style scoped lang="scss">