You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/config/webcadapi.umd.config.ts

68 lines
1.7 KiB

import * as path from 'path';
import * as webpack from 'webpack';
import { merge } from 'webpack-merge';
import WebpackBar from 'webpackbar';
const TS_LOADER = [
{ loader: 'cache-loader', options: { cacheDirectory: "node_modules/.cache_loader" } },
{
loader: 'ts-loader',
options: {
transpileOnly: true,
experimentalWatchApi: true,
},
}
];
const config: webpack.Configuration = merge(
{
// mode: "production",
mode: "development",
entry: "./src/api.ts",
stats: {
modules: true,
},
devtool: "source-map",
externals: {
'three': "THREE"
},
//输出设置
output: {
filename: "webcad-api.js",
path: path.resolve(__dirname, "../dist/umd/"),
library: "webcad-api",
libraryTarget: "umd"
},
resolve: {
extensions: [".ts", ".tsx", ".js", "json"]
},
module: {
rules: [
{
test: /\.worker\.ts$/,
exclude: /node_modules/,
use: [
{ loader: 'worker-loader', },
...TS_LOADER
]
},
{
test: /\.tsx?$/,
exclude: /node_modules/,
use: TS_LOADER,
},
{
test: /\.(glsl|vs|fs)$/,
loader: 'shader-loader'
}
]
},
plugins: [
new WebpackBar()
],
node: false
}
);
export default config;