为什么我的本地构建与浏览器中的构建有如此不同?

时间:2017-11-07 09:29:07

标签: svg webpack font-awesome

使用webpack运行应用程序后,devtools和vs代码的屏幕截图。 devtools build vs code build

这是我的配置文件:

var webpack = require('webpack');
var globby = require('globby');
var path = require('path');

var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var CleanWebpackPlugin = require('clean-webpack-plugin');
var AssetsPlugin = require('assets-webpack-plugin');
var CopyWebpackPlugin = require('copy-webpack-plugin');
const ConcatPlugin = require('webpack-concat-plugin');
const extractLESS = new ExtractTextPlugin('[name].css');

module.exports = {
    entry: {
        app: globby.sync(['./app/app.js','./app/app.run.js', './app/app.config.js', './app/**/*.js']),
        lessStyles: globby.sync(['./content/styles/less/*.less']), 
        styles: globby.sync(['./content/styles/*.css']),
        images: globby.sync(['./content/images/**/*.*']),
        vendor: [
             //removed to save space
        ],
    },
    output: {
        filename: './scripts/[name].bundle.js',
        path: path.join(__dirname, "public")
    },
    devServer: {
        port: 1384,
        contentBase: './public/'
    },

    // Enable sourcemaps for debugging webpack's output.
    devtool: 'source-map',

    module: {
        rules: [
            {
                test: /\.html$/,
                loader: 'raw-loader',
                exclude: [/node_modules/]
            },
            {
                test: /\.css$/,
                loader: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' }),
            },
            {    test: /\.less$/,
                 use: extractLESS.extract([ 'css-loader', 'less-loader' ])
            },
            {
                test: /\.(ico)$/,
                loader: "url-loader?name=./[name].[ext]",
                include: path.resolve(__dirname, "content", "images")
            },
            {
                test: /\.svg$/,
                loader: 'svg-loader'
            },
            {
                test: /\.(jpg|jpeg|gif|png|PNG|tiff|svg)$/,
                loader: 'file-loader?name=/[path]/[name].[ext]',
                include: path.resolve(__dirname, "content", "images"),
            },
            {
                test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                loader: 'url-loader?minetype=application/font-woff&name=./fonts/[name].[ext]'
            },
            {
                test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                loader: 'file-loader?name=./fonts/[name].[ext]'
            },
            {
                test: require.resolve('adal-angular/lib/adal'),
                loader: 'expose-loader?AuthenticationContext'
            },
            {
                test: /\.js$/,
                enforce: "pre",
                loader: 'source-map-loader'
            }
        ],
    },

    plugins: [
        new webpack.DefinePlugin({
            ADMIN_API_URL: JSON.stringify('http://localhost:41118/api/'),
            API_URL: JSON.stringify('http://epdapi.tradesolution.no/api/'),
            GLOBAL_ADMIN_URL: JSON.stringify('https://adminapi.tradesolution.no/')
        }),
        new HtmlWebpackPlugin({
            template: './app/layout.html',
            filename: 'index.html'
        }),
        new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', filename: './scripts/vendor.bundle.js' }),
        new ExtractTextPlugin({ filename: './[name].bundle.css' }),
        extractLESS,
        /*
        new CleanWebpackPlugin(['./public'], {
            verbose: false
        }),
        */
        new AssetsPlugin({
            filename: 'webpack.assets.json',
            path: './public/scripts',
            prettyPrint: true
        }),
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery',
            'window.$': 'jquery',
            "window.AuthenticationContext": "AuthenticationContext",
            _: 'underscore'
        }),

        new CopyWebpackPlugin([
            {from: './app/**/*.html', to: './'}
        ]),
        /*
        new ConcatPlugin({
            uglify: true,
            sourceMap: true, 
            name: 'all',
            fileName: '[name].bundle.css',
            filesToConcat: [
                './public/styles.css',
                './public/vendor.css',
                './public/lessStyles.css',
            ]
        })
        */
    ],
    externals: [
        { xmlhttprequest: '{XMLHttpRequest:XMLHttpRequest}' }
    ]
}

我很困惑为什么这两个文件夹是如此不同。例如:fonts文件夹在浏览器中甚至不存在,内容中有一个styles文件夹,我不知道它来自哪里。

其他文件似乎在那里,但没有。例如,当我在devtools中点击它时,ts-logo.svg会显示0 B,但是从终端运行wget会产生另一个结果:

wget http://localhost:1384/content/images/ts-logo.svg
--2017-11-07 10:23:58--  http://localhost:1384/content/images/ts-logo.svg
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:1384... connected.
HTTP request sent, awaiting response... 200 OK
Length: 65 [image/svg+xml]
Saving to: ‘ts-logo.svg’

ts-logo.svg           100%[======================>]      65  --.-KB/s    in 0s      

2017-11-07 10:23:58 (4,65 MB/s) - ‘ts-logo.svg’ saved [65/65]

0 个答案:

没有答案