我正在尝试使用npm
和webpack
在我正在开发的babel
(this one)上发布一个包。我的代码是用ES6
编写的。我的源代码中有一个文件index.js
,(暂时)导出我的库中的一个核心组件,它就像这样:
import TheGamesDb from './scrapers/thegamesdb';
export { TheGamesDb };
我正在使用webpack
和babel
创建一个dist index.js
,它是我的包的主文件。我的webpack.config.js
是这样的:
const webpack = require('webpack');
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: {
index: ['babel-polyfill', './src/index.js'],
development: ['babel-polyfill', './src/development.js']
},
output: {
path: '.',
filename: '[name].js',
library: 'rom-scraper',
libraryTarget: 'umd',
umdNamedDefine: true
},
devtool: 'source-map',
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ }
]
},
target: 'node',
externals: [nodeExternals()]
};
现在当我在另一个项目中加载我的包并尝试import
我的导出TheGamesDb
时就像这样
import { TheGamesDb } from 'rom-scraper';
我收到错误
未捕获的TypeError:Path必须是字符串。收到未定义的
需要注意的是,我正在electron
中导入我的库。
更新:Electron似乎是这里的主要问题,它甚至不是我的库,而是一个引发此错误的依赖项(仅在Electron中)
答案 0 :(得分:0)
问题不是我的问题中的任何问题,但node-expat
无法在electron
中工作。我换了另一个图书馆,现在好了。