九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
webpack-typescript-vue 瀏覽器插件開發(fā)配置

配置

webpack

npm i init --y
npm i webpack -D
npm i webpack-cli -D
npm i @types/firefox-webext-browser @types/chrome -D    // 瀏覽器擴展API提示

支持 Typescript

tsc --init
npm i typescript ts-loader -D

設置tsconfig.json配置文件

{
    "compilerOptions": {
        "target": "ES2016",
        "module": "commonjs", // ts-node  不支持 commonjs 以外的任何模塊語法
        "allowJs": true,
        "outDir": "./dist",
        "rootDir": "./src",
        "strict": true,
        "moduleResolution": "node"
    },
    "exclude": ["node_modules"],
    "include": ["./src/**/*.ts"]
}

讓配置文件支持typescript

npm i ts-node @types/node @types/webpack -D

創(chuàng)建webpack.config.ts配置文件

import path from "path";
import webpack from "webpack";

const config: webpack.Configuration = {
    mode: "production",
    entry: "./src/index.ts",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "[name].bundle.js",
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                use: "ts-loader",
                exclude: /node_modules/,
            },
        ],
    },
    resolve: {
        extensions: [".tsx", ".ts", ".js"],
    },
};

export default config;

配置package.json

{
    "scripts": {
        "build": "webpack --config webpack.config.ts"
    }
}

測試對 typescript 支持

創(chuàng)建文件./src/index.ts

const test = <T>(value: T) => {
    return value;
};
const d = test(12);

console.log(d);

在端執(zhí)行 npm run build, 如果dist目錄下生成了.bundle.js文件則成功

支持 vue

npm i vue
npm i vue-loader -D
npm i vue-template-compiler -D

tsconfig.json文件調整

{
    "exclude": ["node_modules", "dist"],
    "include": ["./src/**/*.ts", "./src/**/*.vue", "./src/**/*.js"]
}

webpack.config.ts文件調整

const VueLoaderPlugin = require("vue-loader/lib/plugin");
{
    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: "vue-loader",
            },
            {
                test: /\.tsx?$/,
                loader: "ts-loader",
                options: {
                    appendTsSuffixTo: [/\.vue$/],
                },
                exclude: /node_modules/,
            },
        ],
    },
    plugins: [new VueLoaderPlugin()],
}

類寫法需要安裝

npm i vue-class-component -D
npm i vue-property-decorator -D

typescript只能解析ts文件,無法解析vue文件,所以要做一個模塊聲明

聲明文件shims-vue.d.ts

declare module "*.vue" {
    import Vue from "vue";
    export default Vue;
}

支持 sass

npm i sass-loader node-sass  -D
npm i style-loader css-loader sass-loader -D

webpack.config.ts 配置文件調整

module: {
        rules: [
            ...
            // 普通的 `.scss` 文件和 `*.vue` 文件中的
            // `<style lang="scss">` 塊都應用它
            {
                test: /\.scss$/,
                use: ["style-loader","css-loader", "sass-loader"],
            },
        ],
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
搭建Typescript+React項目模板(2)
第一章——vue3.0 ts element-plus多頁簽應用模板:項目搭建篇
webpack2 項目
如何使用TypeScript用賽普拉斯編寫完全類型的安全E2E測試
十分鐘搞定 TypeScript + webpack 配置
在Vue項目中使用Typescript
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服