Jelajahi Sumber

WebPackConfig

sebastien 6 tahun lalu
induk
melakukan
89ce860ece
2 mengubah file dengan 67 tambahan dan 0 penghapusan
  1. 1 0
      .gitignore
  2. 66 0
      src/webpack.config.js

+ 1 - 0
.gitignore

@@ -16,6 +16,7 @@ TestResults
 
 
 # javascript files
 # javascript files
 src/**/*.js
 src/**/*.js
+!src/webpack.config.js
 src/**/*.d.ts
 src/**/*.d.ts
 loaders/src/**/*.js
 loaders/src/**/*.js
 materialsLibrary/src/**/*.js
 materialsLibrary/src/**/*.js

+ 66 - 0
src/webpack.config.js

@@ -0,0 +1,66 @@
+const path = require('path');
+const webpack = require('webpack');
+const DtsBundleWebpack = require('dts-bundle-webpack');
+const CleanWebpackPlugin = require('clean-webpack-plugin');
+
+module.exports = {
+    context: __dirname,
+    entry: {
+        'babylonjs': path.resolve(__dirname, './Legacy/legacy.ts'),
+    },
+    output: {
+        path: path.resolve(__dirname, '../dist/preview release'),
+        filename: 'babylon.js',
+        libraryTarget: 'umd',
+        library: {
+            root: ["BABYLON"],
+            amd: "babylonjs",
+            commonjs: "babylonjs"
+        },
+        umdNamedDefine: true,
+        //devtoolModuleFilenameTemplate: "[absolute-resource-path]"
+    },
+    resolve: {
+        extensions: [".js", '.ts']
+    },
+    externals: {
+        babylonjs: {
+            root: "BABYLON",
+            commonjs: "babylonjs",
+            commonjs2: "babylonjs",
+            amd: "babylonjs"
+        }
+    },
+    devtool: "source-map",
+    module: {
+        rules: [{
+            test: /\.tsx?$/,
+            loader: 'awesome-typescript-loader',
+            options: {
+                configFileName: '../../tsconfig.json',
+                declarationDir: '../../dist/preview release/build'
+            }
+        }]
+    },
+    mode: "production",
+    devServer: {
+        contentBase: path.join(__dirname, "dist"),
+        compress: false,
+        //open: true,
+        port: 9000
+    },
+    plugins: [
+        new CleanWebpackPlugin([
+            path.resolve(__dirname, './**/*.js'),
+            path.resolve(__dirname, './**/*.map')
+        ]),
+        new webpack.WatchIgnorePlugin([
+            /\.js$/,
+            /\.d\.ts$/,
+            /\.fx$/
+        ])
+    ],
+    watchOptions: {
+        ignored: [path.resolve(__dirname, './dist/**/*.*'), 'node_modules']
+    }
+}