如何使用webpack在npm包子文件夹中导入模块?

时间:2016-01-16 04:54:26

标签: npm webpack babeljs

让我们说$.fn.slider = function(config){ var nodos = this; var delay = (typeof config.delay == "number")?parseInt(config.delay):4000; for (var i = 0; i < nodos.length; i++) { Slider(nodos[i]); } function Slider(nodo){ var galeria = $(nodo).find('ul'); if(!$(nodo).hasClass('slider')) $(nodo).addClass('slider'); if(!galeria.hasClass('galeria')) galeria.addClass("galeria"); //Encontrar cuantas imagenes hay en la galeria var imagenes = $(galeria).find('li'); //Controles var html_bullets="<ul class='controles'>"; for (var it = 0; it < imagenes.length; it++) { html_bullets+="<li data-index='"+it+"'>&nbsp;</li>"; } html_bullets+="</ul>"; $(nodo).append(html_bullets); var bullets = $(nodo).find("ul.controles li"); bullets.click(function(){ var index= $(this).data("index"); bullets.removeClass('activa'); $(imagenes[index]).addClass("activa"); $(bullets[index]).addClass("activa"); }); } }; $(document).ready(function() { $(".sliders").slider({delay:5000}); }); 中有一个名为foo的软件包,我想通过webpack&amp;和.slider{ width: 320px; overflow: hidden; } .slider ul{ list-style: none; padding: 0; } .slider ul.galeria{ height: 200px; position: relative; } .slider ul.galeria li{ position: absolute; top: 0; left: 0; opacity: 0; transition: all 2s; } .slider ul.galeria li.activa{ opacity: 1; } .slider ul.galeria img{ max-height: 200px; } /*Controles*/ .slider ul.controles { text-align: center; } .slider ul.controles li{ background-color: black ; display: inline-block; width: 20px; height: 20px; border-radius: 10px; } 来导入库中的模块。巴别...

node_modules有效

foo/module失败并显示以下内容:

  

找不到模块:错误:无法解析模块'foo / module'   /用户/ X /桌面/ someproject / JS

这使得看起来像webpack在错误的地方寻找文件而不是import Foo from 'foo';

我的webpack.config看起来像这样:

import SomeOtherModule from 'foo/module';

2 个答案:

答案 0 :(得分:16)

它应该与import 'foo/module';一起使用。它会解析文件./node_modules/foo/module.js./node_modules/foo/module/index.js以及之类的./node_modules/foo/node_modules/module/index.js,如果符合预期的话(在这种情况下,最好通过npm安装模块)。

答案 1 :(得分:0)

您可以使用module中的package.json属性定义自定义路径。示例:

{
  ...
  "module": "dist/mylib.min.js",
  ...
}

请参见What is the "module" package.json field for?