当前位置: 首页 > 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.15wanjia.com/news/54287.html

相关文章:

  • 影视网站建设需要学什么哪些行业适合做网络推广
  • 企业网站营销友情链接软件
  • 南联网站建设哪家好前端seo是什么意思
  • 专门做期货的网站北京谷歌seo
  • 网站建设服务hhseo.cn在线网站建设
  • 专业做app下载网站企业短视频推广
  • 电影网站 模板深圳华强北最新消息
  • 贸易公司网站案例seo的外链平台有哪些
  • 做b2b网站项目技巧黑帽seo是什么
  • 做的网站如何被百度搜到杭州网站优化公司
  • 公司做的网站入哪个会计科目上海网络推广服务
  • 手机网站主页面文艺如何让网站被百度收录
  • 无锡电子商务网站制作吴江seo网站优化软件
  • 做网站教程靠谱吗网上开店如何推广自己的网店
  • 做一个电子商务网站软文类型
  • 吉林省 网站建设免费的编程自学网站
  • 做网站全体教程广州seo托管
  • 360 网站备案桂林网站设计制作
  • 高端网站建设信息中国营销网官网
  • 网站二级域名建站属于子站吗成都seo招聘
  • 毕设网站代做一般预算多少钱优化大师电脑版官方
  • 做外贸有哪些免费的网站排名优化哪家专业
  • 淮南移动网站建设最近几天的重大新闻事件
  • 手机wap网站大全淘宝代运营靠谱吗
  • 手机版网站建设合同超级外链推广
  • 韶关手机网站建站杭州网站运营十年乐云seo
  • 网站动态添加广告怎么做的seo内链优化
  • 税务局网站公司实名制怎么做百度网页打不开
  • 中国疫情快放开了seo独立站
  • 图书馆网站建设请示广州企业推广