Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用webpack导入npm包子文件夹中的模块?_Npm_Webpack_Babeljs - Fatal编程技术网

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

如何使用webpack导入npm包子文件夹中的模块?,npm,webpack,babeljs,Npm,Webpack,Babeljs,假设node\u modules中有一个名为foo的包,我想通过webpack&babel导入库中的一个模块,例如foo/module 从“Foo”导入Foo工作 从'foo/module'导入其他模块失败,出现以下情况: 未找到模块:错误:无法解析中的模块“foo/Module” /Users/x/Desktop/someproject/js 这使得webpack似乎在错误的位置查找文件,而不是node\u模块 我的webpack.config如下所示: var webpack = requi

假设
node\u modules
中有一个名为foo的包,我想通过webpack&babel导入库中的一个模块,例如
foo/module

从“Foo”导入Foo工作

从'foo/module'导入其他模块失败,出现以下情况:

未找到模块:错误:无法解析中的模块“foo/Module” /Users/x/Desktop/someproject/js

这使得webpack似乎在错误的位置查找文件,而不是
node\u模块

我的webpack.config如下所示:

var webpack = require('webpack');
var path = require('path');

module.exports = {
    entry: ['babel-polyfill','./js/script.js'],
    output: {
        path: __dirname,
        filename: './build/script.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel',
                query: {
                    cacheDirectory: true,
                    presets: ['es2015']
                }
            }
        ],
    },
    plugins: [
        new webpack.NoErrorsPlugin()
    ],
    stats: {
        colors: true
    },
    devtool: 'source-map'

};

它应该与
导入'foo/module'一起工作。它将解析文件
/node\u modules/foo/module.js
/node\u modules/foo/module/index.js
而不是
/node\u modules/foo/node\u modules/module/index.js
(在这种情况下,您最好通过npm安装模块).

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

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

请参见

显示foo模块的文件和文件夹结构,请将模块的结构设置为
/node\u modules/foo/module/index.js
,该结构无法解决我在测试项目中签入的问题,当我将./node\u modules/foo/module/index.js重命名为./node\u modules/foo/module/index1.js时,它显示运行webpack“无法解析/home/user/www/so-2/js中的模块'foo/module'“。那么,也许您的文件名有输入错误?哦,您是对的,模块foo有一个文件夹
src
So
import from foo/src/module
thanks@DmitryYaremenko有没有办法通过
导入'foo/module'导入
module.js
文件,如果文件本身具有以下路径:
foo/src/module.js
?导入…@tonix时,我不希望
src/
子目录位于路径中,您可以尝试添加别名:,类似于
foo:“foo/src”
“…Node.js忽略(并且仍然忽略)顶级“module”字段。(来源:)-他们似乎不想支持package.json中的这个额外字段