2016-02-03 9 views
15

मैं एक्सप्रेस.जेएस फ्रेमवर्क के आधार पर node.js वेब सर्वर को बंडल करने के लिए वेबपैक का उपयोग कर रहा हूं।वेबपैक बाहरी कैशबल नहीं

Webpack का निर्माण ठीक काम करता है, लेकिन अंत में यह मुझे दो लाल संदेशों देता है:

[1] बाहरी "व्यक्त" 42 बाइट्स {0} [संचित करने योग्य नहीं]

[2] बाहरी "पथ "42 बाइट्स {0} [कैशबल नहीं]

इसका क्या अर्थ है और मुझे इसे ठीक करना चाहिए? यदि हां तो इसे कैसे ठीक किया जाए?

मेरे webpack config यहाँ है:

var server = { 
    devtool: 'source-map', 
    entry: './src/server.ts', 
    target: 'node', 

    // Config for our build files 
    output: { 
    path: root('dist/server'), 
    filename: '[name].bundle.js', 
    sourceMapFilename: '[name].map', 
    chunkFilename: '[id].chunk.js' 
    }, 

    externals: nodeModules, 

    module: { 
    preLoaders: [ 
     // { test: /\.ts$/, loader: 'tslint-loader', exclude: [ root('node_modules') ] }, 
     // TODO(gdi2290): `exclude: [ root('node_modules/rxjs') ]` fixed with rxjs 5 beta.2 release 
     { test: /\.js$/, loader: "source-map-loader", exclude: [ root('node_modules/rxjs') ] } 
    ], 
    loaders: [ 
     // Support for .ts files. 
     { test: /\.ts$/, loader: 'ts-loader', exclude: [ /\.(spec|e2e|async)\.ts$/ ] } 
    ] 
    }, 

    plugins: [ 
    new webpack.optimize.OccurenceOrderPlugin(true), 
    // replace 
    new webpack.DefinePlugin({ 
     'process.env': { 
     'ENV': JSON.stringify(metadata.ENV), 
     'NODE_ENV': JSON.stringify(metadata.ENV) 
     } 
    }) 
    ], 

}; 

मेरे server.ts मॉड्यूल:

console.log('Starting web server...'); 

import * as path from 'path'; 
import * as express from 'express'; 

let app = express(); 
let root = path.join(path.resolve(__dirname, '..')); 

var port = process.env.PORT || 8080;  // set our port 
var router = express.Router(); 

router.get('/', function(req, res) { 
    res.json({ message: 'hooray! welcome to our api!' }); 
}); 

app.use('/api', router); 

app.listen(port); 
console.log('Server started on port ' + port); 

उत्तर

संबंधित मुद्दे