AutoCommit/webpack.config.js

77 lines
2.0 KiB
JavaScript
Raw Normal View History

2019-12-26 17:47:37 +08:00
/*
* Author : OBKoro1
* Date : 2019-12-26 17:42:32
* LastEditors : OBKoro1
2019-12-26 21:05:27 +08:00
* LastEditTime : 2019-12-26 20:58:58
2019-12-26 17:47:37 +08:00
* FilePath : /autoCommit/webpack.config.js
* Description : webpack 配置
* https://github.com/OBKoro1
*/
//@ts-check
'use strict'
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
2019-12-26 21:05:27 +08:00
const outputPathName = 'out'
2019-12-26 17:47:37 +08:00
const pathResolve = p => {
return path.resolve(__dirname, p)
}
/**@type {import('webpack').Configuration}*/
const config = {
target: 'node', // vscode插件运行在Node.js环境中 📖 -> https://webpack.js.org/configuration/node/
entry: './src/extension.ts', // 插件的入口文件 📖 -> https://webpack.js.org/configuration/entry-context/
output: {
// 打包好的文件储存在'dist'文件夹中 (请参考package.json), 📖 -> https://webpack.js.org/configuration/output/
path: pathResolve(outputPathName),
filename: 'extension.js',
libraryTarget: 'commonjs2',
devtoolModuleFilenameTemplate: '../[resource-path]'
},
devtool: 'source-map',
externals: {
vscode: 'commonjs vscode' // vscode-module是热更新的临时目录所以要排除掉。 在这里添加其他不应该被webpack打包的文件, 📖 -> https://webpack.js.org/configuration/externals/
},
resolve: {
alias: {
'~': pathResolve('src')
},
// 支持读取TypeScript和JavaScript文件, 📖 -> https://github.com/TypeStrong/ts-loader
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader'
}
]
}
]
},
plugins: [
new CopyWebpackPlugin([
{
from: pathResolve('src/views'),
to: pathResolve(`${outputPathName}/views`),
ignore: ['.*']
},
{
from: pathResolve('src/assets'),
to: pathResolve(`${outputPathName}/assets`),
ignore: ['.*']
}
])
]
}
module.exports = config