be-fe / iSlider

Smooth mobile touch slider for Mobile WebApp, HTML5 App, Hybrid App
http://be-fe.github.io/iSlider/
MIT License
1.65k stars 449 forks source link

初级菜鸟使用webpack来引入iSlider.js的一些问题 #393

Closed Napoleonqinxiaofu closed 8 years ago

Napoleonqinxiaofu commented 8 years ago

我最好还是解释一下什么是初级菜鸟,拿我举例,我刚使用webpack,是一个菜鸟的水平,也刚使用iSlider.js,所以就是初级咯!!!最近我在做一个页面的时候需要使用iSlider.js,所以就通过下面的方式来安装它。

npm install islider.js --save-dev

然后在我的package.json中就有了相关的依赖,但是我发现在我的项目中我只能引入iSlider.js的主文件,也就是\node_modules\islider.js\build\iSlider.js这个文件,我是通过这样的方式来引入iSlider.js的:

var iSlider = require( 'islider.js' );

然后我就想不到如何来引入iSlider.animate.js这个文件了,所以就只好使用准确的路径来进行查找了,我是这样写的。

var iSlider = require( 'islider.js');
require( 'islider.js/build/iSlider.animate.js');

但是这样做会webpack提示这样的错误信息:

ERROR in : islider.js/build/iSlider.animate.js :Module not found: Error: Cannot resolve module 'iSlider' 

就是说animate.js中找不到iSlider.js了,所以我做了以下的修改,到animate.js中的第12行中的代码改为下面的代码就不会报错了。

        factory(require('islider.js'));
    //或者是factory(require('./iSlider.js'));

最后我想问的是,我这样做是不是比较笨,请问有什么更好的方法吗?当然我也希望这些困扰了我比较长时间的问题不要困扰到别人。

xieyu33333 commented 8 years ago

做iSlider的时候webpack还没出来,主要考虑的是直接引入的方式,后续我们会增加对webpack等模块化工具的兼容

xieyu33333 commented 8 years ago

目前你这么改是可以的

xieyu33333 commented 8 years ago

新版本已经支持,直接使用

var iSlider = require('islider.js');
islider = new iSlider(dom, list, opts);

即可

Napoleonqinxiaofu commented 8 years ago

thank you!

Napoleonqinxiaofu commented 8 years ago

thank you!