package.json可以模块化吗?

时间:2019-10-03 14:59:39

标签: npm package.json

我可能发誓我曾经看到package.json可以模块化。基本上,我想将json文件的特定节点分解为子json文件(类似于.Net web.configs的处理方式)。我真的只是在寻找清理/维护包文件。例如:

之前

package.json
{
    "name": "example.ui",
    "version": "1.0.0",
    "description": "Front-end React application",
    "license": "UNLICENSED",
    "scripts": {
        "start": "webpack-dev-server --mode=development --hot --inline --config webpack.config.development.js",
        "build": "webpack --bail -p --config webpack.config.production.js",
        "test": "jest --coverage --coverageDirectory=output/coverage/jest --watchAll"
    },
    "jest": {
        "coverageReporters": [
            "text",
            "html"
        ],
        "moduleNameMapper": {
            "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mockServer__/fileMock.js",
            "\\.(css|less)$": "identity-obj-proxy",
            "MockServer/NavigationData": "<rootDir>/mockServer/data/navigation.json",
            "Config/api": "<rootDir>/src/config/api",
            "Config/environment": "<rootDir>/src/config/environment",
            "Config/constants": "<rootDir>/src/config/constants"
        }
    },
    "devDependencies": {
        "clean-webpack-plugin": "^3.0.0",
        "compression-webpack-plugin": "^3.0.0",
        "copy-webpack-plugin": "^5.0.4",
        "css-loader": "^3.2.0",
        "file-loader": "^4.2.0",
        "html-webpack-plugin": "^3.2.0",
        "jest": "^24.9.0",
        "webpack": "^4.39.2",
        "webpack-bundle-analyzer": "^3.4.1",
        "webpack-dev-server": "^3.8.0"
    },
    "dependencies": {
        "prop-types": "^15.7.2",
        "react": "^16.9.0",
        "react-dom": "^16.9.0",
    }
}

之后

package.json
{
    "name": "example.ui",
    "version": "1.0.0",
    "description": "Front-end React application",
    "license": "UNLICENSED",
    "scripts": {
        "start": "webpack-dev-server --mode=development --hot --inline --config webpack.config.development.js",
        "build": "webpack --bail -p --config webpack.config.production.js",
        "test": "jest --coverage --coverageDirectory=output/coverage/jest --watchAll"
    },
    "jest": "./package.jest.json",
    "devDependencies": {
        "clean-webpack-plugin": "^3.0.0",
        "compression-webpack-plugin": "^3.0.0",
        "copy-webpack-plugin": "^5.0.4",
        "css-loader": "^3.2.0",
        "file-loader": "^4.2.0",
        "html-webpack-plugin": "^3.2.0",
        "jest": "^24.9.0",
        "webpack": "^4.39.2",
        "webpack-bundle-analyzer": "^3.4.1",
        "webpack-dev-server": "^3.8.0"
    },
    "dependencies": {
        "prop-types": "^15.7.2",
        "react": "^16.9.0",
        "react-dom": "^16.9.0",
    }
}

package.jest.json
{
    "coverageReporters": [
        "text",
        "html"
    ],
    "moduleNameMapper": {
        "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mockServer__/fileMock.js",
        "\\.(css|less)$": "identity-obj-proxy",
        "MockServer/NavigationData": "<rootDir>/mockServer/data/navigation.json",
        "Config/api": "<rootDir>/src/config/api",
        "Config/environment": "<rootDir>/src/config/environment",
        "Config/constants": "<rootDir>/src/config/constants"
    }
}

0 个答案:

没有答案