UNPKG

2.08 kBJavaScriptView Raw
1var path = require("path");
2var autoprefixer = require("autoprefixer");
3var webpack = require("webpack");
4var HtmlWebpackPlugin = require("html-webpack-plugin");
5var CaseSensitivePathsPlugin = require("case-sensitive-paths-webpack-plugin");
6var WatchMissingNodeModulesPlugin = require("../scripts/utils/WatchMissingNodeModulesPlugin");
7var paths = require("./paths");
8var env = require("./env");
9module.exports = {
10 devtool: "eval",
11 entry: [require.resolve("webpack-dev-server/client") + "?/", require.resolve("webpack/hot/dev-server"), path.join(paths.appSrc, "index")],
12 output: {
13 path: paths.appBuild,
14 pathinfo: true,
15 filename: "static/js/bundle.js",
16 publicPath: "/"
17 },
18 resolve: {
19 extensions: [".js", ".json", ""],
20 alias: {}
21 },
22 resolveLoader: {
23 root: paths.ownNodeModules,
24 moduleTemplates: ["*-loader"]
25 },
26 module: {
27 loaders: [{
28 test: /\.js$/,
29 loader: "babel",
30 query: require("./babel.dev")
31 }, {
32 test: /\.css$/,
33 loader: "style!css!postcss"
34 }, {
35 test: /\.json$/,
36 loader: "json"
37 }, {
38 test: /\.(ico|jpg|png|gif|eot|svg|ttf|woff|woff2)(\?.*)?$/,
39 exclude: /\/favicon.ico$/,
40 loader: "file",
41 query: {
42 name: "static/media/[name].[hash:8].[ext]"
43 }
44 }, {
45 test: /\/favicon.ico$/,
46 loader: "file",
47 query: {
48 name: "favicon.ico?[hash:8]"
49 }
50 }, {
51 test: /\.html$/,
52 loader: "html",
53 query: {
54 attrs: ["link:href"],
55 }
56 }]
57 },
58 externals: {
59 "jQuery":true,
60 "jquery": true,
61 //"knockout" : "knockout",
62 //"director":"director",
63 //"polyfill":"polyfill",
64 //"bdtpl" : "bdtpl",
65 //"text":"text",
66 //"text!js/menumgr/menulist.html" : "text!js/menumgr/menulist.html"
67 },
68 postcss: function() {
69 return [autoprefixer({
70 browsers: [">1%", "last 4 versions", "Firefox ESR", "not ie < 9", ]
71 }), ]
72 },
73 plugins: [new HtmlWebpackPlugin({
74 inject: true,
75 template: paths.appHtml,
76 }), new webpack.DefinePlugin(env), new webpack.HotModuleReplacementPlugin(), new CaseSensitivePathsPlugin(), new WatchMissingNodeModulesPlugin(paths.appNodeModules)]
77};
\No newline at end of file