Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 没有窗口对象存在网页包节点_Javascript_Node.js_Webpack - Fatal编程技术网

Javascript 没有窗口对象存在网页包节点

Javascript 没有窗口对象存在网页包节点,javascript,node.js,webpack,Javascript,Node.js,Webpack,我正在使用babel的webpack来编译我的ecmascript 6代码。一切正常,但如果我添加某些依赖项,如请求npm包。这是我的档案: main.js import os from 'os' export class User { constructor(username) { this.username = username; } register() { console.log("registering..."); } } var client

我正在使用babel的webpack来编译我的ecmascript 6代码。一切正常,但如果我添加某些依赖项,如请求npm包。这是我的档案:

main.js

import os from 'os'

export class User {

  constructor(username) {
    this.username = username;
  }

  register() {
    console.log("registering...");
  }
}

var client = new User("hey")


console.log(user.register());
网页包配置:

var webpack = require('webpack')

module.exports = {
  entry: [
    './src/main.js'
  ],
  output: {
    path: "dist",
    publicPath: "/dist/",
    filename: "stela.js"
  },
  watch: false,
  module: {
    loaders: [{
      test: /\.js$/,
      // excluding some local linked packages.
      // for normal use cases only node_modules is needed.
      exclude: /node_modules/,
      loader: 'babel'
    }, {
      test: /\.json$/,
      loader: 'json-loader'
    }]
  },
  externals: {
    fs: '{}',
    tls: '{}',
    net: '{}',
    console: '{}'
  },
  babel: {
    presets: ['es2015'],
    plugins: ['transform-runtime']
  },
  resolve: {
    modulesDirectories: ['node_modules']
  }
}
现在,如果我运行
webpack
,然后运行
node dist/stella.js
一切正常,它将注销
注册…
;但是,如果我添加某些依赖项,如
请求
npm包:

...
import request from 'request'
...
我运行
webpack
所有的东西都编译好了,没有任何错误,但是我尝试运行
node dist/stella.js
,我得到了以下错误:

throw new Error('no window object present');

默认情况下,Webpack设置为针对浏览器,而不是节点环境。尝试在配置中设置
target

module.exports = {
    // ...
    target: "node",
    // ...
}

请注意,
commonchunkplugin
taget:'node'
不兼容。如果有,则在为节点编译时应将其删除。