Javascript heroku没有生成我的网页包应用程序
由于某些原因,我无法让Heroku构建我的Web包react应用程序。 似乎构建的js文件不存在。如果我将一个test.js未构建在公共文件夹中,那么索引会很好地加载它 程序文件Javascript heroku没有生成我的网页包应用程序,javascript,heroku,webpack,Javascript,Heroku,Webpack,由于某些原因,我无法让Heroku构建我的Web包react应用程序。 似乎构建的js文件不存在。如果我将一个test.js未构建在公共文件夹中,那么索引会很好地加载它 程序文件 build: npm run prod web: node ./server.js package.json "scripts": { "start": "export NODE_ENV=development&&npm run dev", "serve": "./node_modules/.bin
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;
网页包配置
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,一切正常你检查日志了吗?构建可能失败是的,我可以在日志中看到它的构建,app.js 1.04 MB 0[emissed],并且没有错误,就我所知,你的package.json文件是什么样子的?如果您在开发依赖项下有webpack和其他类似babel/plugins的东西,并且您没有专门设置Heroku,那么它将跳过它们。你看到正在运行的网页包了吗?在顶部添加了package.json谢谢分享!由于不熟悉Heroku,我几乎把这个问题复杂化了,但可以肯定的是,由于我正在部署Django/Vue堆栈,只有Python被自动检测到。