0

0

node.js中的npm和webpack配置方法详解

小云云

小云云

发布时间:2018-01-24 10:40:01

|

2226人浏览过

|

来源于php中文网

原创

node.js用c++语言编写而成的,是一个基于chrome v8引擎的javascript运行环境,让javascript的运行脱离浏览器服务端,可以使用javascript语言书写服务器端代码,主要介绍了详解node.js中的npm和webpack配置,需要的朋友可以参考下,希望能帮助到大家。

1.使用node来实现一个http服务器

下面创建了一个端口为8787的服务器.他与php,java等不同,像php本地还要基于阿帕奇服务器,node.js能用代码快速搭建一个服务器。

// 引入http模块
var http = require("http");
// 调用http的接口创建服务器;回调--->异步;
var server = http.createServer(function(req,res){
 // request:浏览器提交给服务器相关;response:服务器到浏览器;
 console.log(111);
 // 设置编码格式
 res.setHeader("Content-type","text/html;charset=utf8");
 res.write("

hello world 11233

"); res.write("你好世界"); res.end(); }) server.listen(8787);

模块化

1. 模块化开发

1.CommonJS就是为JS的表现来制定规范,因为js没有模块的功能所以CommonJS应运而生,它希望js可以在任何地方运行,不只是浏览器中。

2.创建自己的模块

node.js中命名空间是独立的

在一个模块里引入另一个模块的方法或者变量使用require

•引入fnData模块

require("./fnData");

•导入与导出(导出变量或者函数)

module.exports = {
myFn:test.myFn,
a:test.a
}

2. 内置模块

nodejs内置模块有:Buffer,C/C++Addons,Child Processes,Cluster,Console,Cr

ypto,Debugger,DNS,Domain,Errors,Events,File System,

Globals,HTTP,HTTPS,Modules,Net,OS,Path,Process,P unycode,Query Strings,Readline,REPL,Stream,String De coder,Timers,TLS/SSL,TTY,UDP/Datagram,URL, Utilities,V8,VM,ZLIB;内置模块不需要安装,外置模块需要安装;

3. npm

1.一组模块的集合,是node的包管理器

下面npm常用的终端命令

1.

安装Node模块

npm install moduleNames

将包安装到全局环境中

npm install -g

安装的同时,如果有package.json文件时,命令将信息写入package.json中项目路径中

npm install --save

2.查看node模块的package.json文件夹npm view moduleNames

3.查看当前目录下已安装的node包

npm list

4.查看帮助命令

npm help

5.查看包的依赖关系

npm view moudleName dependencies

6.查看包的源文件地址

npm view moduleName repository.url

7.查看包所依赖的Node的版本

npm view moduleName engines

8.查看npm使用的所有文件夹

npm help folders

9.用于更改包内容后进行重建

npm rebuild moduleName

10.检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

Magician
Magician

Figma插件,AI生成图标、图片和UX文案

下载

npm outdated

11.更新node模块

npm update moduleName

12.卸载node模块

npm uninstall moudleName

13.一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:

$ npm help json

此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

14.发布一个npm包的时候,需要检验某个包名是否已存在

$ npm search packageName

15.npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

16.npm root:查看当前包的安装路径

npm root -g:查看全局的包的安装路径

17.npm -v:查看npm安装的版本

4. webpack

概念:是近的一加载器兼打包工具,它能把各种资源,例如J (含J X)、 coffee、样式(含less/sass)、图片等都作为模块来使用和处理。

配置步骤

1.全局安装webpack

npm install webpack -g

2.新建webpack.config.js编写此配置文件

module.exports = {
// 当前执行文件的路径
 // 输入
 entry:__dirname+"/app/index.js",
 // 输出
 output:{
  path:__dirname+"/build",
  filename:"bundle.js"
 },
 module:{
  loaders:[{
   test:/\.css$/,
   loader:"style-loader!css-loader"
  }]
 },
 watch:true,
 devServer: {
  contentBase: "./build",//本地服务器所加载的页面所在的目录
  historyApiFallback: true,//不跳转
  inline: true//实时刷新
 },
}

3.使用下面终端命令初始化自动创建package.json文件,一直按enter就可以了

npm init

4.package.json文件已经就绪,我们在本项目中安装Webpack作为依赖包

// 安装Webpack
npm install --save-dev webpack

接着在文件夹中新建app和build文件夹,app文件夹放我们要写的js,css等模块文件,build里放webpack打包生成的js文件以及一个index.html

此时目录结构如下:

5.在inex.html文件中引入自动生成的bundle.js




 
 Title


 

在module1.js中定义一些变量与方法,作为一个模块使用exports导出

console.log("我是module1.js");
var a = "我是a变量";
var fn = function(){
 console.log("我是fn函数");
}
module.exports = {
 a,
 fn
}

在index.js中使用require引入module.js的方法与变量

var res = require("./module1");
require("./index.css");
console.log("我是index.js");
console.log(res.a);
res.fn();

6.终端运行webpack

webpack

7.在package-loack.json中scripts配置

对npm进行配置后可以在命令行中使用简单的npm start命令来替代webpack的命令

像 下面配置后,npm dev可以代替 npm webpack-dev-server --open命令

{
 "dependencies": {
 "css-loader": "^0.28.8",
 "style-loader": "^0.19.1",
 "webpack": "^3.10.0"
 },
 "devDependencies": {
 "webpack-dev-server": "^2.11.0"
 },
 "scripts": {
 "start": "webpack",
 "dev": "webpack-dev-server --open"
 }
}

此时输入npm start 就可以打包文件了

相关推荐:

webpack配置之后端渲染详解

实例详解vue-cli优化的webpack配置

React 和Webpack构建打包优化实例详解

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.6万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.2万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号