Closed fancyboynet closed 8 years ago
应该用 require('normalize.css')
引入css和图片都使用引入js的方式来引入
可是有一些仅仅是css中的相互依赖,并不涉及js,也都强制用js依赖是不是不太好? 原来的方案是支持的
其实这种注释依赖在npm生态中并不规范,css的相互依赖也应该用sass less的import
注释依赖虽然不是规范,但是是fis提供的很实在的功能,而且也不一定要用sass/less吧 现在把组件生态搬到npm中,很好,不过原先fis的一些实用功能希望能保留,这个跟npm规范没关系吧,毕竟前端不是仅仅只有js
亲,我刚刚试了下没问题啊,是不是版本问题?
/**
* @require normalize.css
*/
还有一个可能是,你是不是没有启用 loader 插件,这个用法只是简单的标记依赖关系而已,没有 loader 插件,依赖不会加载进来。
@2betop 找到原因了,原来是配置里短路径的问题,改成package的形式就好了
咦,我刚刚啥也没配置,就是用 npm install normalize.css
然后就能用了,用 npm 安装的直接就能短路径,为何还要配置 package 呢?
不是,是我项目内部自定义的模块(components/app/reset/reset.css)想启用短路径引用,结果失败了,导致reset.css里引用 normalize.css就失败了 配置是之前用fis-components方案搬过来的
发现个新问题,js中注释可以找到normalize.css,直接_require(‘normalize.css’)_反而会找不到
/**
* @require normalize.css
*/
require('normalize.css'); //找不到
var $ = require('jquery');
require('app/nav/nav');
require('fullpage.js');
$(function(){
$('#fullPage').fullpage({
scrollingSpeed: 600,
navigation : true
});
});
error:
mod.js:65 Uncaught Error: Cannot find module `node_modules/normalize.css/normalize.css`
package:
"devDependencies": {
"fis3-hook-commonjs": "^0.1.14",
"fis3-hook-node_modules": "^1.1.5"
}
亲测有用啊,你是不是没有引入插件啊 https://github.com/fex-team/fis3-preprocessor-js-require-css
额,还真是,不好意思,我错了
没有按预期地将node_modules中的normalize.css载入