簡體   English   中英

heroku沒有建立我的webpack應用程序

[英]heroku not building my webpack app

由於某種原因,我無法讓Heroku構建我的webpack react應用。 似乎內置的js文件不存在。 如果我將test.js(未構建)放入公用文件夾,則索引會很好地加載它。

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沒有。 相同的設置在本地可以正常工作

這是由於我的buildpack配置不正確造成的。 我在應用程序設置中將其切換為heroku / nodejs,一切正常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM