我的网站是一个HTML静态网站,其中包含多个JS文件。我想只使用Webpack来帮助我构建(合并,uglify,最小化)JS文件。然后我会在S3上托管我的index.html并通过cloudfront提供它,所以我不会有任何后端。
我有index.html
,style.css
和少量JavaScript文件。当我使用webpack
构建时,所有.js
文件都内置在bundle-script.js
中。如果我在本地打开网站,index.html
文件无法从bundle-script.js
访问功能。
我试过"webpack -p"
,但没有成功。
从我所看到的情况来看,似乎Webpack需要在后台运行一个nodejs服务器,这可能是为了支持热重载功能。
在package.json
中,build设置为webpack。 "build": "webpack"
这是我的webpack.config.js
我有正确的方法吗?如何配置webpack来为我构建静态?
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const StaticSiteGeneratorPlugin = require('static-site-generator-webpack-plugin');
const config = {
target: 'web',
entry: "./src/home.js",
output: {
path: path.resolve(__dirname, 'build'),
filename: 'bundle-script.js'
},
module:
{
rules: [
// CSS: scss, csss
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.html'
}),
new ExtractTextPlugin("style.css"),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': `"production"`
}
}),
new StaticSiteGeneratorPlugin({
crawl: true
})
]
};
module.exports = config;