Webpack 网页包导出模块,如lodash
Lodash导出如下模块:Webpack 网页包导出模块,如lodash,webpack,Webpack,Lodash导出如下模块: var chunk=require('lodash/array/chunk') 我想创建一个库,以同样的方式导出模块。因此,对于另一个项目,我只能导入我想要的模块: var module1=require('my-library/moduel1'); var module2=require('my-library/module2'); var moduele3=require('my-library/module3') 还是amd 定义(['my-library/mo
var chunk=require('lodash/array/chunk')代码>
我想创建一个库,以同样的方式导出模块。因此,对于另一个项目,我只能导入我想要的模块:
var module1=require('my-library/moduel1');
var module2=require('my-library/module2');
var moduele3=require('my-library/module3')代码>
还是amd
定义(['my-library/moduel1'、'my-library/moduel2'、'my-library/moduel3'],函数…)
因此,我认为我的库配置不正确,它们是:
var path = require('path'),
webpack = require('webpack');
module.exports = {
devtool: '#inline-source-map',
resolve: {
alias: {
'my-library/module1' : path.resolve(__dirname, './lib/module1/index.js'),
'my-library/module2' : path.resolve(__dirname, './lib/module2/index.js'),
'my-library/module3' : path.resolve(__dirname, './lib/module3/index.js'),
}
},
entry: {
app: './lib/index.js'
},
output: {
library: 'my-library',
libraryTarget: 'amd',
path: path.resolve(__dirname, 'dist'),
filename: "my-library.js"
},
externals:{
'lodash': '_'
},
plugins: [
],
module: {
loaders: [
{
test: "my-library/module1",
loader: "exports-loader"
},
{
test: "my-library/module2",
loader: "exports-loader"
},
{
test: "my-library/module3",
loader: "exports-loader"
}
]
}
}
我使用的导出加载程序不正确吗?你知道github上的例子吗?
谢谢这是公共图书馆吗?Webpack可能不是用于此目的的理想工具。我自己也使用过Babel作为节点分发版本,而将其他平台的捆绑(单个UMD捆绑)留给Webpack。这在我的公司是公开的。不确定哪一个是最好的工具。您使用的是什么模块格式的/lib/module1/index.js
等?CommonJS所以在/lib/module1/index.js
中有这样的内容:module.exports={obj1:'ciao',obj2:'hello'}
Ok。也许让package.json
main指向当前结构最简单?我想工具应该能把它捡起来。