当Vue js不存在时,如何从/ dist /文件夹中加载图像?

时间:2019-03-25 20:48:21

标签: javascript vue.js webpack

所以我正在尝试学习Vue.js + webpack,并按照以下步骤启动了一个项目:

f:www\> npm install -g vue-cli
f:www\> vue init webpack-simple my-project
f:www\> cd my-project
f:www\> npm install
f:www\> npm run dev

默认页面在http://localhost:8080/上运行。

现在,在webpack.config.js文件中,我有以下几行:

  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'main.js'
  },

,然后在index.html中找到以下行<script src="/dist/main.js"></script>

在这一点上,我认为Webpack有点像Gulp,因为它可以编译src文件并将它们放在/ dist /文件夹中。

但是Webpack从不创建/ dist /文件夹。

  1. 当/ dist /文件夹不存在时,如何从<img src="/dist/logo.png?82b9c7a5a3f405032b1db71a25f67021">加载Vue徽标?
  2. 为什么未创建main.js?

webpack.config.js (简短版)

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

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'main.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ],
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]?[hash]'
        }
      }
    ]
  },
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js'
    },
    extensions: ['*', '.js', '.vue', '.json']
  },
  devServer: {
    historyApiFallback: true,
    noInfo: true,
    overlay: true
  },
  performance: {
    hints: false
  },
  devtool: '#eval-source-map'
};

if (process.env.NODE_ENV === 'production') {
  module.exports.devtool = '#source-map';
  // http://vue-loader.vuejs.org/en/workflow/production.html
  module.exports.plugins = (module.exports.plugins || []).concat([
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: '"production"'
      }
    }),
    new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
      compress: {
        warnings: false
      }
    }),
    new webpack.LoaderOptionsPlugin({
      minimize: true
    })
  ])
}

1 个答案:

答案 0 :(得分:0)

因此,经过更多的搜索之后,我发现this turorial可以解释整个webpack-simple的设置。

以下是有关/ dist /文件夹的部分:

  

npm运行构建
  现在,我们只是使用 npm run dev 来进行测试   安装Vue Cli工具。这很棒   用于在本地环境中进行测试,但是如果您实际上   想要将您的应用程序发布到网络上?在这种情况下,您将   而是运行 npm运行构建。这将为您构建应用程序   产品,您将看到一个新的 / dist / 文件夹,其中包含   成品包。

因此,在开发过程中,文件被放置在临时/临时位置(不确定位置)