javascript - 在另一个 webpack 项目中使用 webpack 编译库并且没有导入任何内容

标签 javascript webpack

假设我有两个项目:

项目-a

export default "test text"

project-a 是使用默认的 webpack 4.0 配置编译的,它采用 /src/index.js 并将其捆绑到 /dist/main.js.

然后我将它保存到我的 github 或我的 npm,以便我将来可以使用它(比如在项目-b 中)。

package.json 看起来像:

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

项目-b

我从运行开始:

npm install mygithub/project-a

然后使用相同的默认 webpack 4.0 配置创建一个 /src/index.js :

import projectDefault from 'project-a'

console.log(projectDefault)

我得到了 {}。尝试 import * as projectA from 'project-a' 产生 {}

我哪里错了?

最佳答案

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

output: {
  libraryTarget: 'commonjs2',
  library: 'handler',
  filename: 'index.js',
  path: path('build')
},

这是重要的部分。在这里,您告诉 webpack 您希望它构建一个库。

以我的 alexa-skill-template 为例项目。 它导出方法 handle

进一步阅读:

关于javascript - 在另一个 webpack 项目中使用 webpack 编译库并且没有导入任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49151819/

相关文章:

javascript - 如何配置 Webpack 输出以仅包含特定包的一些选项

javascript - Webpack 在 bundle.js 中包含未使用的库

css - webpack encore构建报错: Module build failed: Unclosed block

javascript - 在调整窗口大小时更改 React js 中的值

javascript - 为什么我的 li 被忽略了?

css - Webpack 不会使用 css-loader 和 (react)-css-modules 处理 css

javascript - webpack 构建后,导出的函数在 bundle.js 中未定义

javascript - Krajee Bootstrap 文件输入无响应

javascript - 如何使用 jquery 或 javascript 将复选框选择限制为一个

javascript - YII:如何将参数列表从 js 传递到 Controller 并通过传递另一个列表调用新 View ?