2014-12-01 24 views

cevap

5

Bu nasıl bir uygulama? Bir package.json kullanıyorsanız, webpack'i npm komut dosyalarını kullanarak postinstall adımında çalıştırabilirsiniz.

+0

Webpack'i programlı olarak derledim (dizinimden) ve yalnızca yerel makinemde çalışıyor. Mantıklı, dynos'un dosya sistemi salt okunur değil mi? –

1

Normal bağımlılıkları devDependencies yerleştirerek bu sorunu çözdük ve ben postInstall senaryoyu değiştirdi: Sen Sonra set aşağıdaki NODE_ENV=production webpack -p

için package.json içinde postinstall ayarlayabilirsiniz

node_modules/.bin/webpack 
2

start - node -

Webpack'inizi webpack.config.js içinde ayarlayarak üretim için yapılandırdığınızdan emin olmanız gerekir. Bir üretim yapılandırması olarak bpack.config.js (üretim).

şöyle benim webpack.config.js içinde tüm ayarlamaları .. Yani temelde, komut npm run postinstall paket webpack.config.js göre dizinde oluşturulur çalışır kez

const path = require('path'); 
const webpack = require('webpack'); 
const debug = process.env.NODE_ENV !== "production"; 


module.exports = { 
    entry: [ 
    './src/index.js' 
    ], 
    output: { 
    path: path.resolve(__dirname, 'src'), 
    filename: 'bundle.js' 
    }, 
    devtool: debug ? "inline-sourcemap" : null, 
    module: { 
    loader: [{ 
     exclude: /node_modules/, 
     loader: 'babel', 
     query: { 
     presets: ['angular'] 
     } 
    }, 
    { 
     test: /\.css$/, 
     loader: "style-loader!css-loader" 
    }] 
    }, 
    devServer: { 
    historyApiFallback: true, 
    contentBase: 'src' 
    }, 
    plugins: debug ? [] : [ 
    new webpack.optimize.DedupePlugin(), 
    new webpack.optimize.OccurenceOrderPlugin(), 
    new webpack.optimize.UglifyJsPlugin({ 
    mangle: {except: ['$', 'exports', 'require', 'app']}, 
    compress: {warnings: false}, 
    sourceMap: false 
    }) 
    ] 
} 

(çıkış) . Ancak 'npm start' komutunu çalıştırmadan önce package.json 'a NODE_ENV=production webpack -p komutlarını ekleyiniz. Aşağıdaki örneğe bakın ..

{ 
    "name": "", 
    "version": "1.0.0", 
    "description": "", 
    "main": "./src/bundle.js", 
    "engines": { 
    "node": "6.4.0" 
    }, 
    "scripts": { 
    "start": "node ./src/server.js", 
    "postinstall": "NODE_ENV=production webpack -p" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": ... 
İlgili konular