Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 app.js中需要错误_Javascript_Node.js_Npm_Webpack - Fatal编程技术网

Javascript app.js中需要错误

Javascript app.js中需要错误,javascript,node.js,npm,webpack,Javascript,Node.js,Npm,Webpack,我最近开始开发一款用nodejs编写的新游戏,出于某种原因,它不允许我在app.js中使用require,我知道这是可能的,因为我制作了其他类似的游戏 这是我在网站控制台中收到的错误 未捕获引用错误:未定义require 在app.js:2上 这是代码,也是参考代码 var插座; var pg=需要(“pg”); var config=require('../../config.json'); var conString=config.database.uri; var客户=新的pg客户(施工)

我最近开始开发一款用nodejs编写的新游戏,出于某种原因,它不允许我在app.js中使用require,我知道这是可能的,因为我制作了其他类似的游戏

这是我在网站控制台中收到的错误
未捕获引用错误:未定义require
在app.js:2上

这是代码,也是参考代码

var插座;
var pg=需要(“pg”);
var config=require('../../config.json');
var conString=config.database.uri;
var客户=新的pg客户(施工);
client.connect();
这个错误使我的其余代码无法运行,我几乎可以肯定这一行

var config=require('../../config.json')

在修复第一个错误后,也会产生错误

根据webpack npm和我的所有其他项目所做的“构建”:“webpack”
应该允许app.js中的require,但它不起作用

这是我的package.json

{
“名称”:“CodingIdleMasters”,
“版本”:“0.0.1”,
“说明”:“占位符”,
“main”:“server/server.js”,
“脚本”:{
“构建”:“网页包”,
“开始”:“节点服务器/server.js”
},
“作者”:“弗拉明尼格斯”,
“贡献者”:[
“约瑟夫·威廉姆森(https://github.com/FlamingGenius)"
],
“依赖项”:{
“快车”:“^4.13.4”,
“socket.io”:“^1.4.6”,
“socket.io客户端”:“^1.4.6”,
“网页包”:“^1.13.1”,
“网页包流”:“^3.2.0”,
“pg”:“^1.0.0”
}
}
这里有一个指向github上项目的链接,以防您需要查看更多代码

如果有帮助的话,这就是我目前的层次结构

-客户端
-css
-main.css
-js
-app.js
-game.js
-menu.js
-index.html
-服务器
-server.js
-config.json
-package.json
编辑:


似乎我需要网页包配置,但文档在解释如何设置方面没有真正的帮助。如果有人能够提供一个解释如何设置的答案,并可能提供一些代码,这将非常有帮助。

需要
用于NodeJS,而不是在浏览器上

但是,有一些方法可以使模块导入在浏览器中正常工作。如前所述,WebPack是实现这一点的一种方法。设置WebPack需要的不仅仅是将行添加到package.json并安装文件-您需要配置文件和正确的构建:

首先,确保您的package.json具有正确的依赖项(在本例中为
pg
),并且已安装它(检查node_modules目录)

假设您现在只想加载JavaScript模块,您可以使用位于项目根目录(webpack.config.js)的以下配置文件:

这将获取您的每个文件并捆绑脚本及其依赖项,以使其正常工作。使用
webpack--config webpack.config.js
运行它。我为您提供了一个非常简单的配置—在实际用例中,可能会将所有主文件打包到一个包中,而不是每个脚本文件都有一个包。WebPack是一个非常强大的工具,您可以潜在地扩展您的使用,但我将留给您,因为我不知道您的确切设置(WebPack指南有大量信息)


也就是说,从客户机连接到数据库可能是可能的,但肯定不推荐这样做。首先,
pg
包是为在NodeJ上使用而设计的。其次,数据库连接应该始终由服务器处理,客户端应该只与服务器交互。看看您的服务器,您目前只是在为内容提供服务,而没有做任何事情——您试图在客户机上使用数据库执行的所有操作都应该卸载到服务器上

允许使用require,但pg Library中没有node_模块这是我第一次使用pg,我该如何使用它?因为文档上是这么写的使用nodejs命令提示符和cd到项目路径,然后键入npm install pg,这应该会生成node_modules文件夹,因为它在您的项目中找不到,然后添加pg库这与pg本身无关我根本无法在我的app.js文件中使用require这就是我需要的fix@FlamingGenius您的项目中是否有webpack.config.js文件。如果是这样,你能用该文件的内容更新你的答案吗?这将告诉我们webpack正在(或不正在)做什么。
const path = require('path');

module.exports = {
    entry: {
        app: './client/app.js',
        game: './client/game.js',
        menu: './client/menu.js',
    },
    context: path.resolve(__dirname, '.'),
    devtool: 'source-map',
    target: 'web',
    resolve: {
        extensions: ['.js'],
        modules: [path.resolve(__dirname, 'client'), 'node_modules']
    },
    resolveLoader: {
        modules: ['node_modules']
    },
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'client', 'dist') // output into /client/dist
    }
};