Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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
Javascript 在另一个webpack项目中使用webpack编译库,但未导入任何内容_Javascript_Webpack - Fatal编程技术网

Javascript 在另一个webpack项目中使用webpack编译库,但未导入任何内容

Javascript 在另一个webpack项目中使用webpack编译库,但未导入任何内容,javascript,webpack,Javascript,Webpack,假设我有两个项目: project-a export default "test text" project-a是使用默认的Webpack4.0配置编译的,它接受/src/index.js并将其绑定到/dist/main.js 然后我将它保存到我的github或npm中,以便将来使用它(如project-b) package.json看起来像: { "name": "project-a", "version": "1.0.0", "description": "my project

假设我有两个项目:

project-a

export default "test text"
project-a
是使用默认的Webpack4.0配置编译的,它接受
/src/index.js
并将其绑定到
/dist/main.js

然后我将它保存到我的github或npm中,以便将来使用它(如project-b)

package.json看起来像:

{
  "name": "project-a",
  "version": "1.0.0",
  "description": "my project",
  "main": "./dist/main.js",
  "dependencies": {},
  "devDependencies": {
    ...
  },
  "scripts": {
    ...
  },
  "author": "",
  "license": "ISC"
}

project-b

我从跑步开始:

npm install mygithub/project-a
然后使用相同的默认webpack 4.0配置创建一个
/src/index.js

import projectDefault from 'project-a'

console.log(projectDefault)
我得到
{}
。尝试从“project-a”中将*作为projectA导入,会产生
{}


我哪里出错了?

如果你想编写某种可重用的库,你必须告诉webpack这样做

output: {
  libraryTarget: 'commonjs2',
  library: 'handler',
  filename: 'index.js',
  path: path('build')
},
这是重要的部分。在这里,您告诉webpack您希望它构建一个库

以我的项目为例。 它导出方法句柄

进一步阅读:


更改
是否将默认“测试文本”导出为
const text=“测试文本”;导出默认文本
有什么不同吗?刚刚尝试过,没有什么不同。我相信这也与我这里未回答的问题有关:@KfirM,是的,看起来相关。有人说,人们只在最后捆绑-当然这是好的,但你会如何创建一个重要的npm项目?您是否使用src文件作为入口点?在我的问题中,我被告知要()…但它不起作用。。。我也会尝试一下……这很有效,它让我可以将编译好的文件导入到另一个网页项目中。但是,同一个项目不能作为脚本文件包含。仍然无法使其在我的端工作。。。。太令人沮丧了@DavidAlsh-你说不能作为脚本文件包含是什么意思