我有两个 HTML 页面,每个页面都包含它自己的包。这是我的项目结构:
public/
-- dist/
src/
-- firebase/
-- network/
webpack.config.js
这是我的 webpack 配置:
const path = require('path');
const CleanTerminalPlugin = require('clean-terminal-webpack-plugin');
module.exports = {
mode: "development",
entry: {
network: path.resolve(__dirname, 'src') + '/network/index.ts',
firebase: path.resolve(__dirname, 'src') + '/firebase/index.ts'
},
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
],
},
resolve: {
extensions: ['.tsx', '.ts', '.js'],
},
output: {
path: path.resolve(__dirname, 'public') + '/dist',
},
plugins: [new CleanTerminalPlugin()]
};
我希望这会在 public/dist
中创建两个名为 firebase.js
和 network.js
的包。相反,我收到一个错误:
ERROR in main Module not found: Error: Can't resolve './src/' in 'path/to/project/root'
它还说 Field 'browser' doesn't contain a valid alias configuration /path/to/project/root/src/index doesn't exist
并为 .tsx
、.ts
和 .js
我不知道它为什么要在我的 index.*
中寻找 src/
文件。我没有将其指定为入口文件。如果我创建一个 src/index.ts
,它会构建,但只生成一个名为 main
的包,这不是我的预期行为。
答案 0 :(得分:0)
这最终成为一个非常愚蠢的问题,但如果有人需要,我会发布答案。
我使用 webpack ./src
调用 webpack,但是没有 webpack
的 ./src
可以按预期工作。