当前位置: 首页 > news >正文

做搜狗网站点击视频外链工具

做搜狗网站点击,视频外链工具,做网站推广对电脑有什么要求,网站建设 成功案例需求 后端有个nodejs 基础库,用typescript编写,需要发包到代码仓库上,被其它业务引入。这其中就涉及了: 编译, 打包,发包。 工作流速览 前提依赖 webpack主体 npm install --save-dev webpack webpack…

需求

后端有个nodejs 基础库,用typescript编写,需要发包到代码仓库上,被其它业务引入。这其中就涉及了: 编译, 打包,发包。

工作流速览

前提依赖

webpack主体

npm install --save-dev  webpack webpack-cli

webpack插件

npm install --save-dev webpack-node-externals  ts-loader 

编译相关

npm instsall --save-dev typescript

基础示例

这个是工作流,可以看到从最初的源文件,一直到发包的打包文件的转换过程。这其中涉及到3个配置文件

  • package.json 用于包依赖管理(装依赖 和 发包)
  • webpackage.config.js 用于触发编译(typescript编译) 和 打包(把编译后的文件 打到一个文件里
  • tsconfig.json 用于编译使用,将typescript文件编译成JavaScript文件。

tsconfig.json

{"compilerOptions": {"baseUrl": "./","declaration": true,"allowSyntheticDefaultImports": true,"skipLibCheck": true,"emitDecoratorMetadata": true,"resolveJsonModule": true,"esModuleInterop": true,"experimentalDecorators": true,"lib": ["es2015", "es2016", "es2017.object", "es2020.Promise", "esnext.asynciterable", "dom"],"module": "nodeNext","moduleResolution": "nodeNext","noImplicitAny": false,"outDir": "./dist","composite": true,"sourceMap": true,"strict": true,"strictPropertyInitialization": false,"target": "es2017","types": ["jest"],// "types": ["node"],"typeRoots": ["node_modules/@types"],},"compileOnSave": true,"include": ["src/**/*", "index.ts"],"exclude": ["node_modules/**/*", "**/*.d.ts", "test"],
}

webpack.config.js

const path = require('path');
const nodeExternals = require('webpack-node-externals');module.exports = {entry: './src/index.ts', // 指定入口文件为 src 目录下的 index.tstarget: 'node', // 指定打包目标为Node环境externals: [nodeExternals()], // 排除 node_modules 中的模块devtool: 'source-map',module: {rules: [{test: /\\.ts$/,use: 'ts-loader',exclude: /node_modules/,},],},resolve: {extensions: ['.tsx', '.ts', '.js'],preferRelative: true,},output: {filename: 'bundle.js', // 输出文件名path: path.resolve(__dirname, 'dist'), // 输出目录设置为根目录下的 dist 文件夹libraryTarget: "commonjs" },
};
  • target: 指定运行时环境,这里是在后端node环境运行,填写node。
  • exclude: 排除 node_module等不需要打包的文件。
  • debug: source map, 关联打包文件和源文件,以开启 vscode等IDE debug时的断点。
  • 编译:会用tsconfig.json文件进行编译

编译后打包

npx webpack

执行webpack的过程,会先触发编译下,然后打包

解释结果

编制结果在 dist文件夹里,可以查看里面内容如下,ls ./dist

bundle.js :就是webpack打包的结果。
bundle.js.map :用于debug的文件,source map参数开始后,关联bundle.js和源码的文件。
index.d.ts :声明文件,typescript 编译index.ts时,产生的声明文件,src 里包含了其它*.ts的声明文件。

发包

package.json

最后,如果要发包注意下 package.json, main的入口是打包的文件生成的地方,

{"name": "nodejs-webpack-demo","version": "1.0.0","description": "","main": "./dist/bundle.js","types": "./dist/index.d.ts", "scripts": {"test": "echo \\"Error: no test specified\\" && exit 1"},"author": "","license": "ISC","devDependencies": {"ts-loader": "^9.5.1","webpack": "^5.92.1","webpack-cli": "^5.1.4","webpack-node-externals": "^3.0.0"},"dependencies": {"mongoose": "^8.4.4"}
}

同时注意下,webpack.config.js里面的output中的libraryTarget,需要根据不同的运行环境,输出为指定格式,否则无法引入使用。

发包命令,用npm发包,进入到包的目录下

// 如果需要使用私有仓库
npm config set registry <https://your-registry.com>
// 登录
npm login
// 发包
npm publish

或是用 yarn ,注意这个需要在 包的外层执行 ,假设你的包文件是common,则需要在路径…/common, 即包文件的外层执行

yarn publish --registry=http://127.0.0.1:8081/repository/my-npm-repo/ --new-version 1.0.0 common

代码参考

代码地址 :https://github.com/Wunan777/webpack-demo

http://www.dinnco.com/news/66679.html

相关文章:

  • 建立个人网站能干西安seo服务商
  • 精品课程网站建设申报超级外链发布
  • wordpress 后台首页seo研究中心好客站
  • 哪个网站做任务能赚钱菏泽地网站seo
  • 网站建设人员要求济南网络优化厂家
  • 中国网络安全公司排名搜索优化整站优化
  • 烟台哪家公司可以做网站一站式海外推广平台
  • 南京房地产网站建设自学seo能找到工作吗
  • dremrever怎么做网站nba最新交易信息
  • 伍佰亿网站建设seo顾问收费
  • 建网站找我五种常用的网站推广方法
  • 视频代做网站公众号推广方案
  • 企业网站维护怎么做网站收录
  • 南京网站开发公司哪家好刷死粉网站推广
  • 2019做什么类型网站南京seo整站优化技术
  • 做网站建设销售做国外网站
  • 手机设计培训网站建设建站seo是什么
  • 做个网站软件多少钱百度搜索优化平台
  • 网站后台没有编辑器发帖推广
  • 北京做手机网站建设无锡整站百度快照优化
  • 北京网站seo服务百度云下载
  • 公司网站开发之main区域(2)河北seo技术培训
  • 官方网站面膜做微商深圳seo论坛
  • 成都网站建设好多科技网上营销的方式
  • 社保网站哪里做转入搜索词和关键词
  • 做网站需要用到哪些开发软件广告推广文案
  • 网页设计与制作教程教科书杭州网站优化多少钱
  • 陈巴尔虎旗网站建设互联网推广引流公司
  • 做非洲出口的网站免费友情链接网页
  • php网站开发最新需求新媒体平台