webpack在Linux上大错失败:无法找到模块

时间:2016-10-14 07:12:09

标签: npm webpack

我正在使用webpack捆绑反应应用。一切都可以在我的Windows机器上找到。但是当我尝试在Linux服务器上运行它时(centos 6.5)。我收到了以下错误:

[root@xxxxx]# webpack
module.js:457
    throw err;
    ^

Error: Cannot find module './Parser.js'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (path/to/web/node_modules/htmlparser2/lib/index.js:1:76)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/path/to/web/node_modules/renderkid/lib/tools.js:4:14)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)

这是我的webpack配置文件:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const merge = require('webpack-merge');
const validate = require('webpack-validator');
const parts = require('./libs/parts');
const PATHS = {
    app:path.resolve(__dirname,'shared'),
    build:path.resolve(__dirname,'build'),
    css:[
        //path.join(__dirname,'node_modules','purecss'),
        //path.join(__dirname,'client','client.less'),
        path.join(__dirname,'client','client.less')
    ]
};

const common = {
    entry:{
        app:PATHS.app,
        style:PATHS.css
    },
    output:{
        path:PATHS.build,
        filename:'[name].js',
    },
    resolve: {
        extensions: ['', '.js', '.jsx'],
    },
    resolveLoader: {
        root: path.join(__dirname, 'node_modules')
    }
};
var config;
switch (process.env.npm_lifecycle_event) {
    case "build":
        config = merge(common,
            {
                devtool: 'cheap-module-source-map',
                //stats: 'errors-only',
                output: {
                    path: PATHS.build,
                    filename: '[name].js',
                    // This is used for require.ensure. The setup
                    // will work without but this is useful to set.
                    chunkFilename: '[chunkhash].js'
                }
            },
            parts.clean(PATHS.build),
            parts.setFreeVariable(
                'process.env.NODE_ENV',
                'production'
            ),
            parts.supportESSix(PATHS.app),
            parts.extractBundle({
                name: 'vendor',
                entries: ['react','react-dom','react-router','react-addons-pure-render-mixin',
                    'redux','react-redux','immutable',"redux-thunk","superagent","draft-js","react-dropzone","react-modal"]
            }),

            parts.purifyCSS(PATHS.css),
            parts.setupLess(PATHS.css),
            parts.minify(),
            parts.compressBundle()

        );
        break;
    default:
        config = merge(common,
            {
                devtool: 'source-map',
                //stats: 'errors-only',
                output: {
                    path: PATHS.build,
                    filename: '[name].js',
                    // This is used for require.ensure. The setup
                    // will work without but this is useful to set.
                    chunkFilename: '[chunkhash].js'
                }
            },
            parts.clean(PATHS.build),
            parts.setFreeVariable(
                'process.env.NODE_ENV',
                'production'
            ),
            parts.supportESSix(PATHS.app),
            parts.extractBundle({
                name: 'vendor',
                entries: ['react','react-dom','react-router','react-addons-pure-render-mixin',
                    'redux','react-redux','immutable',"redux-thunk","superagent","draft-js","react-dropzone","react-modal"]
            }),

            parts.purifyCSS(PATHS.css),
            parts.setupLess(PATHS.css),
            parts.minify()
        );
}

module.exports = validate(config);

最后是package.json文件:

{
  "name": "bravo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack-dev-server"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "bootstrap": "^3.3.7",
    "clean-webpack-plugin": "^0.1.10",
    "compression-webpack-plugin": "^0.3.1",
    "css-loader": "^0.24.0",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.9.0",
    "html-webpack-plugin": "^2.22.0",
    "less": "^2.7.1",
    "less-loader": "^2.2.3",
    "purecss": "^0.6.0",
    "purifycss-webpack-plugin": "^2.0.3",
    "semantic-ui": "^2.2.4",
    "semantic-ui-less": "^2.2.4",
    "style-loader": "^0.13.1",
    "url-loader": "^0.5.7",
    "webpack": "^1.13.2",
    "webpack-dev-server": "^1.15.0",
    "webpack-merge": "^0.14.1",
    "webpack-validator": "^2.2.7"
  },
  "dependencies": {
    "babel-core": "^6.14.0",
    "babel-loader": "^6.2.5",
    "babel-preset-es2015": "^6.14.0",
    "babel-preset-react": "^6.11.1",
    "body-parser": "^1.15.2",
    "compress": "^0.99.0",
    "cookie-parser": "^1.4.3",
    "csurf": "^1.9.0",
    "draft-js": "^0.9.1",
    "es6-promise": "^3.2.1",
    "express": "^4.14.0",
    "express-jwt": "^5.0.0",
    "express-session": "^1.14.1",
    "form-data": "^2.0.0",
    "history": "^3.2.1",
    "immutable": "^3.8.1",
    "isomorphic-fetch": "^2.2.1",
    "jsonwebtoken": "^7.1.9",
    "method-override": "^2.3.6",
    "mongoose": "^4.6.0",
    "passport": "^0.3.2",
    "passport-facebook": "^2.1.1",
    "password-hash": "^1.2.2",
    "q": "^1.4.1",
    "react": "^15.3.2",
    "react-addons-pure-render-mixin": "^15.3.1",
    "react-dom": "^15.3.1",
    "react-dropzone": "^3.6.0",
    "react-modal": "^1.5.2",
    "react-redux": "^4.4.5",
    "react-router": "^2.7.0",
    "redux": "^3.6.0",
    "redux-immutable": "^3.0.8",
    "redux-thunk": "^2.1.0",
    "sanitize-html": "^1.13.0",
    "superagent": "^2.3.0"
  },

  "babel": {
    "presets": [
      "es2015",
      "react"
    ]
  }
}

请指出为什么我不能让它在Linux上运行?我应该注意哪些平台特定的问题?

0 个答案:

没有答案