2017-03-02 5 views
0

何らかの理由でHerokuがwebappリアクションアプリをビルドできません。 ビルドされたjsファイルが存在しないようです。パブリックフォルダにtest.js(ビルドされていない)を置くと、インデックスがうまく読み込まれます。heroku webpack appを作成していません

Procfile

build: npm run prod 
web: node ./server.js 

package.json

"scripts": { 
"start": "export NODE_ENV=development&&npm run dev", 
"serve": "./node_modules/.bin/http-server -p 8080", 
"dev": " webpack-dev-server --progress --colors --port 8080", 
"build": "export NODE_ENV=development&& webpack --progress --colors", 
"prod": "export NODE_ENV=production&& webpack --progress -p", 
"copy": "node copyStatic.js", 
"lint": "eslint app/**" 
}, 
"engines": { 
"node": "7.7.0", 
"npm": "4.4.0" 
}, 

webpack.config

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

var BUILD_DIR = path.resolve(__dirname, 'public'); 
var APP_DIR = path.resolve(__dirname, 'app'); 
var PROD = process.env.NODE_ENV == 'production'; 

var config = { 

entry: { 
    app: PROD ? ['babel-polyfill', APP_DIR + '/index.js'] : ['babel-polyfill', APP_DIR + '/index.js', 'webpack-dev-server/client?http://0.0.0.0:8080'], 
    animations: APP_DIR + '/animations/animations.js' 
}, 
output: { 
    path: BUILD_DIR, 
    filename: "[name].js", 
}, 
plugins: [], 
module: { 
    rules: [ 
     { 
      test: /\.jsx?/, 
      include: APP_DIR, 
      use: ['babel-loader'] 
     }, 
     { 
      test: /\.scss$/, 
      use: ["style-loader", "css-loader", "sass-loader"] 
     }, 
     { 
      test: /\.css$/, 
      use: [ 
       'style-loader', 
       'css-loader?importLoaders=1', 
       'postcss-loader?sourceMap=inline' 
      ] 
     }, 
     { 
      test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/, 
      use: 'file-loader' 
     }, 
     { 
      test: /\.(png|jpg|gif)$/, 
      use: 'file-loader' 
     }, 
     { test: /\.json$/, use: "json-loader" } 

    ] 

}, 
devServer: { 
    historyApiFallback: { 
     index: 'index.html' 
    } 
}, 
resolve: { 
    extensions: ['.js', '.jsx'], 
    alias: { 
     "TweenLite": path.resolve('node_modules', 'gsap/src/uncompressed/TweenLite.js'), 
     "TweenMax": path.resolve('node_modules', 'gsap/src/uncompressed/TweenMax.js'), 
     "TimelineLite": path.resolve('node_modules', 'gsap/src/uncompressed/TimelineLite.js'), 
     "TimelineMax": path.resolve('node_modules', 'gsap/src/uncompressed/TimelineMax.js') 
    } 
}, 
node: { 
    //console: 'empty', 
    fs: 'empty', 
    net: 'empty', 
    tls: 'empty' 
} 
}; 

module.exports = config; 

WebPACKのコンフィグ

var BUILD_DIR = path.resolve(__dirname, 'public'); 
//////other config 
output: { 
    path: BUILD_DIR, 
    filename: "[name].js", 
}, 

パブリックフォルダ内にあるindex.htmlには、

<script type="text/javascript" src="./app.js"></script> 
<script type="text/javascript" src="./test.js"></script> 

test.jsがロードされます。 app.jsはありません。同じセットアップがローカルで正常に動作します

+0

ログを確認しましたか?ビルドに失敗した可能性があります –

+0

はい、私はそれがログにビルドされていることがわかりますapp.js 1.04 MB 0 [放出] –

+0

と私の見る限りではエラーはありません –

答えて

0

これは、ビルドパックの構成が正しくないために発生しました。私はアプリの設定でheroku/nodejsに切り替えました。すべて正常に動作します。

関連する問題