Webpack不创建输出文件(不使用webpack-dev-server)

时间:2016-10-01 15:34:10

标签: javascript angularjs typescript webpack babeljs

我正在使用webpack(不是dev-server,我知道它不会输出文件),也没有创建dist文件夹或输出文件。

我尝试直接通过webpack(全局安装)和使用本地安装的webpack的npm run build运行它。都没有工作。

这是我的配置:

const path = require('path');

module.exports = {
  entry: {
    app: './src/entry.js',
  },
  output: {
    path: path.join('/dist'),
    filename: '[name].bundle.js',
  },
  module: {
    loaders: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loaders: ['ng-annotate'],
      },
      {
        test: /\.js$/,
        exclude: /(node_modules)/,
        loader: 'babel', // 'babel-loader' is also a legal name to reference
        query: {
          presets: ['es2015', 'latest'],
        },
      },
      {
        test: /\.css$/,
        loader: 'style-loader!css-loader',
      },
      {
        test: /\.html$/,
        loader: 'html',
      },
      {
        test: /\.less$/,
        loader: 'style!css!less',
      },
    ],
  },
  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js'],
    root: [
      path.resolve('./src'),
      path.resolve('./node_modules'),
    ],
    alias: {
      vendor: path.join('/node_modules'),
    },
    fallback: ['node_modules'],
  },
};

我试图通过手动创建dist文件夹来修复此问题,但这也不起作用,文件仍未创建。

奇怪的是它之前是DID构建文件,但现在已经停止了。我在任何时候都没有更改输出位置或输入文件。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您的webpack输出路径是绝对路径:

output: {
    path: path.join('/dist'), <----
    filename: '[name].bundle.js',
},

我的猜测是它是在你的根目录中生成的。 /dist意味着从文件系统的根目录开始,而不是相对于项目目录。

应该是:

output: {
    path: path.join('./dist'),
    filename: '[name].bundle.js',
},