Joh*_*Doe 4 javascript node.js webpack electron
注意:我是 webpack 的初学者。
我正在尝试让 webpack 加载我的 .htmls 文件(index.html 和 login.html),因为它们将充当我的电子应用程序的窗口。这是我到目前为止所尝试过的但没有结果:
rules: [
{
test: /\.html$/,
use: ["html-loader"]
},
...
Run Code Online (Sandbox Code Playgroud)
和
rules: [
{
test: /\.html$/,
loader: "file-loader"
},
...
Run Code Online (Sandbox Code Playgroud)
这是我的 webpack.config.js 文件:
const path = require("path");
const { spawn } = require("child_process");
const srcDir = path.resolve(__dirname, "src/renderer");
const outDir = path.resolve(__dirname, "build/client");
const defaultIncludes = [srcDir];
module.exports = {
entry: `${srcDir}/index`,
output: {
path: outDir,
filename: "app.bundle.js"
},
resolve: {
extensions: [".ts", ".tsx", ".js", ".json", ".html"]
},
module: {
rules: [
{
test: /\.html$/,
loader: "file-loader"
},
{
// Include ts, tsx, and js files.
test: /\.(tsx?)|(js)$/,
exclude: /node_modules/,
loader: "babel-loader",
include: defaultIncludes
},
{
test: /\.scss$/,
use: [
"style-loader", // creates style nodes from JS strings
"css-loader", // translates CSS into CommonJS
"sass-loader" // compiles Sass to CSS
]
},
{
test: /\.(ttf|eot|woff|woff2)$/,
loader: "file-loader",
options: {
name: "fonts/[name].[ext]"
}
}
]
},
devServer: {
inline: true,
contentBase: outDir,
compress: true,
stats: {
colors: true,
chunks: false,
children: false
},
before() {
spawn("electron", ["."], {
shell: true,
env: process.env,
stdio: "inherit"
}).on("close", code => process.exit(0)).on("error", spawnError => console.error(spawnError));
}
},
target: "electron-renderer",
mode: "development"
};
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?Webpack 将所有内容构建到其中,但不包括/build
.html 文件(index.html 和 login.html,位于我的目录下)。/src/
HTML 文件的加载器配置将允许require
对 HTML 文件的调用在 javascript 文件内工作。使用文件加载器,您将获得文件路径,而使用 HTML 加载器,您将获得调用结果的 HTML 内容。
如果您希望将 HTML 文件与编译的源代码一起复制,则必须使用像copy-webpack-plugin或html-webpack-plugin这样的插件。
归档时间: |
|
查看次数: |
12950 次 |
最近记录: |