如何使用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
Soimport from foo/src/module
thanks@DmitryYaremenko有没有办法通过导入'foo/module'导入
module.js
文件,如果文件本身具有以下路径:foo/src/module.js
?导入…@tonix时,我不希望src/
子目录位于路径中,您可以尝试添加别名:,类似于foo:“foo/src”
“…Node.js忽略(并且仍然忽略)顶级“module”字段。(来源:)-他们似乎不想支持package.json中的这个额外字段