2017-11-11 105 views
0

我都项目,使用vue-init用的WebPack创建并测试vue-init。无法解析字体时NPM运行单元

我添加自定义字体,创建使用“icomoon”,我的项目,这样

main.js

import './main.scss' 

main.scss

@import './assets/fonts/icons/style.scss'; 

style.scss

@import 'variables'; 

@font-face { 
    font-family: 'icomoon'; 
    src: 
    url('#{$icomoon-font-path}/icomoon.ttf') format('truetype'), 
    url('#{$icomoon-font-path}/icomoon.woff') format('woff'), 
    url('#{$icomoon-font-path}/icomoon.svg') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 
... 

而且在variables.scss

$icomoon-font-path: './assets/fonts/icons/fonts' !default; 
... 

项目结构是这样的:

src 
|-assets 
| |-fonts 
| | icons 
| | |-fonts 
| | | |-icomoon.svg 
| | | |-icomoon.ttf 
| | | |-icomoon.woff 
| | |-style.scss 
| | |-variables.scss 
| |-... 
|-... 
|-main.js 
|-main.scss 
|-... 

当我试图执行npm run unit,我收到这样的错误:

... 

ERROR in ./node_modules/css-loader?{"minimize":false}!./node_modules/sass-loader/lib/loader.js?{}!./src/assets/fonts/icons/style.scss 
Module not found: Error: Can't resolve './assets/fonts/icons/fonts/icomoon.woff' in '/Users/administrator/projects/front-end-landing/src/assets/fonts/icons' 
@ ./node_modules/css-loader?{"minimize":false}!./node_modules/sass-loader/lib/loader.js?{}!./src/assets/fonts/icons/style.scss 6:188-238 
@ ./src/assets/fonts/icons/style.scss 
@ ./src ^\.\/(?!main(\.js)?$) 
@ ./test/unit/index.js 

... 

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR 
    Error: Cannot find module "./assets/fonts/icons/fonts/icomoon.ttf" 
    at http://localhost:9877webpack:///src/assets/fonts/icons/style.scss:6:0 <- index.js:39212 

但在同一时间,我是否会使用npm run dev,图标工作正常运行的项目,我可以看到他们,他们正在装载成功

所以,我的问题是,什么我做错了,为什么当我试图运行测试,图标未正确加载?

回答