【发布时间】:2019-02-14 01:44:59
【问题描述】:
我已经构建了一个 npm 包并将其发布到 NPM。
当我 npm install <my-package> 然后 import MyPackage from "@Acme/MyPackage"; 进入反应时,我得到以下错误。
找不到模块:无法解析@Acme/MyPackage
这是因为我如何设置我的 sdk 包。你可以在下面找到我用来构建它的 webpack 配置。
顺便说一句,如果我直接在标题中导入脚本标记,这可以工作,但是如果没有在标题中专门定义脚本标记,我怎么能像这样导入它呢?
webpack.config.js
const path = require('path');
// const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-package.min.js',
libraryTarget: 'umd',
library: 'MyPackage'
},
devtool: 'source-map',
resolve: {
extensions: ['.js'],
},
module: {
rules: [
{
test: /\.(js)$/,
use: 'babel-loader'
}
]
},
node: {
console: false,
global: true,
process: true,
__filename: 'mock',
__dirname: 'mock',
Buffer: true,
setImmediate: true,
fs: 'empty',
net: 'empty',
tls: 'empty'
// See "Other node core libraries" for additional options.
},
plugins: [
// new UglifyJSPlugin({ sourceMap: true }),
new CopyWebpackPlugin([
{ from: 'test/index.html', to: '' }
]),
],
};
【问题讨论】:
-
您的包位于私有 NPM 注册表中 @Acme 对吗?它在
node_modules文件夹中吗? -
@jerrylow 不,Acme 是一个命名空间,是的,我可以在 node_modules 中看到 min.js 文件
-
你能分享这个包吗?
标签: javascript reactjs npm