我有过
- 这是我的源文件(index.html,index.ts,style.scss)
./public
-我的站点和编译器文件(index.html,bundle.js,style.css)
例如,我想将我的./src
文件index.html
构建为./public/
,将我的index.ts
构建为./public/success/script/index.js
,将style.scss
构建为./public/success/style/style.css
我怎么能做到呢?webpack.config.js
:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: path.resolve(__dirname, './src/scripts/index.ts'),
mode: "development",
output: {
path: path.resolve(__dirname, './public/'),
filename: 'app.min.js',
},
devServer: {
static:{
directory: path.join(__dirname, './public')
},
port: 3000,
open: true,
hot: true
},
module: {
rules: [
{
test: /\.ts|.js$/,
use: ["ts-loader"],
exclude: /node_modules/,
},
{
test: /\.scss$/,
use:[
"sass-loader",
"style-loader",
"css-loader"
]
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: path.resolve(__dirname, './src/index.html'),
filename: path.resolve(__dirname, "./public/index.html"),
inject: "body"
}),
],
};
字符串
1条答案
按热度按时间bmvo0sr51#
请参阅
output.filename
配置,您可以使用类似'js/[name]/bundle.js'
的东西来创建文件夹结构。MiniCssExtractPlugin
的filename
的工作方式类似于output.filename
。为了简化配置,以下示例不使用
ts-loader
和sass-loader
,因为它们不影响构建输出。项目结构(建成后):
字符串
src/index.js
:型
src/index.html
:型
src/style.css
:型
webpack.config.js
:型
构建日志:
型
输出量:
public/index.html
:型
package.json
:型