2017-05-14 29 views
0

所以,试图要求node-env-file我config.js文件时,如下所示:ERROR在./~/node-env-file/lib/index.js模块未发现:错误:无法解析模块“FS”

import Raven from 'raven-js'; 

const env = require('node-env-file'); 
env('.env'); 

我收到以下错误mesage:

ERROR in ./~/node-env-file/lib/index.js Module not found: Error: Cannot resolve module 'fs' in C:\Users\d0475\Documents\Projects\learn-redux-graphql\node_modules\node-env-file\lib @ ./~/node-env-file/lib/index.js 3:9-22

我的WebPack配置文件如下:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
    devtool: 'source-map', 
    entry: [ 
    'webpack-hot-middleware/client', 
    './client/app' 
    ], 
    output: { 
    path: path.join(__dirname, 'public'), 
    filename: 'bundle.js', 
    publicPath: '/static/' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin() 
    ], 
    module: { 
    loaders: [ 
    // js 
    { 
     test: /\.js$/, 
     loaders: ['babel'], 
     include: path.join(__dirname, 'client') 
    }, 
    // CSS 
    { 
     test: /\.styl$/, 
     include: path.join(__dirname, 'client'), 
     loader: 'style-loader!css-loader!stylus-loader' 
    } 
    ] 
    } 
}; 

和我package.json文件如下:

{ 
    "name": "learn-redux-graphql", 
    "version": "1.0.0", 
    "description": ":) ", 
    "scripts": { 
    "build:webpack": "set NODE_ENV=production && webpack --config webpack.config.prod.js", 
    "build": "npm run clean && npm run build:webpack", 
    "test": "NODE_ENV=production mocha './tests/**/*.spec.js' --compilers js:babel-core/register", 
    "clean": "rimraf dist", 
    "start": "node devServer.js" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "" 
    }, 
    "author": "Theo Mer", 
    "license": "MIT", 
    "homepage": "", 
    "dependencies": { 
    "apollo-client": "^1.0.2", 
    "babel-core": "^6.5.2", 
    "babel-eslint": "^6.1.2", 
    "babel-loader": "^6.2.3", 
    "babel-plugin-react-transform": "^2.0.0", 
    "babel-plugin-transform-object-rest-spread": "^6.5.0", 
    "babel-plugin-transform-react-display-name": "^6.5.0", 
    "babel-polyfill": "^6.5.0", 
    "babel-preset-es2015": "^6.5.0", 
    "babel-preset-react": "^6.5.0", 
    "css-loader": "^0.23.1", 
    "eslint": "^3.4.0", 
    "eslint-plugin-babel": "^3.1.0", 
    "eslint-plugin-react": "^4.1.0", 
    "express": "^4.13.4", 
    "firebase": "^3.3.0", 
    "graphql-tag": "^1.3.2", 
    "graphql-tools": "^0.10.1", 
    "immutability-helper": "^2.1.2", 
    "lodash": "^4.17.4", 
    "node-env-file": "^0.1.8", 
    "raven-js": "^2.1.1", 
    "react": "^0.14.7", 
    "react-addons-css-transition-group": "^0.14.7", 
    "react-apollo": "^1.0.0-rc.3", 
    "react-dom": "^0.14.7", 
    "react-redux": "^4.4.0", 
    "react-router": "^2.0.0", 
    "react-router-redux": "^4.0.0", 
    "react-transform-catch-errors": "^1.0.2", 
    "react-transform-hmr": "^1.0.2", 
    "redbox-react": "^1.2.2", 
    "redux": "^3.3.1", 
    "redux-thunk": "^2.0.1", 
    "rimraf": "^2.5.2", 
    "style-loader": "^0.13.0", 
    "stylus": "^0.54.5", 
    "stylus-loader": "^2.3.1", 
    "subscriptions-transport-ws": "^0.5.5-alpha.0", 
    "webpack": "^1.12.14", 
    "webpack-dev-middleware": "^1.5.1", 
    "webpack-hot-middleware": "^2.7.1" 
    }, 
    "devDependencies": { 
    "babel-plugin-transform-react-jsx": "^6.23.0", 
    "expect": "^1.14.0", 
    "expect-jsx": "^2.3.0", 
    "mocha": "^2.4.5", 
    "react-addons-test-utils": "^0.14.7", 
    "sw-precache-webpack-plugin": "^0.9.1" 
    }, 
    "babel": { 
    "presets": [ 
     "react", 
     "es2015" 
    ], 
    "env": { 
     "development": { 
     "plugins": [ 
      [ 
      "transform-object-rest-spread" 
      ], 
      [ 
      "transform-react-display-name" 
      ], 
      [ 
      "react-transform", 
      { 
       "transforms": [ 
       { 
        "transform": "react-transform-hmr", 
        "imports": [ 
        "react" 
        ], 
        "locals": [ 
        "module" 
        ] 
       }, 
       { 
        "transform": "react-transform-catch-errors", 
        "imports": [ 
        "react", 
        "redbox-react" 
        ] 
       } 
       ] 
      } 
      ] 
     ] 
     }, 
     "production": { 
     "plugins": [ 
      [ 
      "transform-object-rest-spread" 
      ], 
      [ 
      "transform-react-display-name" 
      ] 
     ] 
     } 
    } 
    }, 
    "eslintConfig": { 
    "ecmaFeatures": { 
     "jsx": true, 
     "modules": true 
    }, 
    "env": { 
     "browser": true, 
     "node": true 
    }, 
    "parser": "babel-eslint", 
    "rules": { 
     "quotes": [ 
     2, 
     "single" 
     ], 
     "strict": [ 
     2, 
     "never" 
     ], 
     "babel/generator-star-spacing": 1, 
     "babel/new-cap": 1, 
     "babel/object-shorthand": 1, 
     "babel/arrow-parens": 1, 
     "babel/no-await-in-loop": 1, 
     "react/jsx-uses-react": 2, 
     "react/jsx-uses-vars": 2, 
     "react/react-in-jsx-scope": 2 
    }, 
    "plugins": [ 
     "babel", 
     "react" 
    ] 
    } 
} 

这是什么,我该如何解决它?

回答

0

您需要tell your webpack config about your node environment。添加node的进入你的WebPack配置有用于fs模块空值:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 

    /* Your exisitng config as above */ 

    node: { 
     fs: 'empty' 
    } 
}; 
+0

我现在收到以下错误:'''Uncaught TypeError:fs.​​existsSync不是函数 at module.exports(bundle.js:75969) at Object。 (bundle.js:75870) at __webpack_require__(bundle.js:556) at fn(bundle.js:87) at Object。 (bundle.js:1864) at __webpack_require__(bundle.js:556) at fn(bundle.js:87) at Object。在bundle.js:579'''上的_ – TheoG

0

使用dotenv-webpack已经解决了这个问题。

相关问题