
本人前端新ren,自学时遇见的问题,试了用powershell变更设置为RemoteSigned,但没有用
关注引自免费微信小程序:皆我百晓生
在 Vue.js 中,处理非已签名的 package.json 文件的方法主要有两种:手动查找和自动检查。
package.json 文件步骤如下:
a. 首先,在Vue项目根目录下找到名为 package.json 的文件。
b. 然后打开这个文件,并进入 JSON 格式的对象:
{
"name": "MyVueApp",
"version": "1.0.0",
"dependencies": {
"axios": "^0.21.0",
// ...
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.3.2",
"@vue/cli-plugin-eslint": "^4.3.2",
"@vue/cli-plugin-router": "^4.3.2",
"@vue/cli-plugin-vuex": "^4.3.2",
"typescript": "^4.4.3"
}
}
c. 在文件末尾添加 "files": ["package.json"] 来指明所有包含包JSON文件的路径和名,然后在每个路径后面添加一个斜杠 (/) 将目录与对应的 .json 文件关联起来。
d. 按照以下方式查找匹配的 .json 文件:
find src -type f -name "*.json" -exec grep -i "repository地址:" {} +
上述命令遍历 src 目录中的所有 .json 文件,并查找其中的 "repository地址:" 替换为你的 GitHub 或 GitLab 官方仓库 URL。
e. 找到匹配的 .json 文件后,根据你的 package.json 文件内容创建一个新的 Vue.js 组件并导出至 dist 目录:
npm install --save-dev @vue/cli-plugin-babel@4.3.2
npm install --save-dev @vue/cli-plugin-eslint@4.3.2
npm install --save-dev @vue/cli-plugin-router@4.3.2
npm install --save-dev @vue/cli-plugin-vuex@4.3.2
npm install --save-dev typescript@4.4.3
// E:/vue/app/node_modules/@vue/cli-plugin-babel
// import 'babel/register'
// import 'babel/polyfill'
// import 'core-js/stable'
const main = require('./scripts/main.js')
const app = new Vue({
el: '#app',
render: h => h(App),
components: {
HelloWorld,
App
}
})
注意,如果你的仓库在GitHub上托管,将这些依赖项添加到你的 .npmrc 文件中(例如, registry.url=https://github.com/user/repo.git),然后在构建或运行过程中使用以下命令替换原始的 GitHub URL:
npm install --save-dev @vue/cli-plugin-babel@4.3.2
npm install --save-dev @vue/cli-plugin-eslint@4.3.2
npm install --save-dev @vue/cli-plugin-router@4.3.2
npm install --save-dev @vue/cli-plugin-vuex@4.3.2
npm install --save-dev typescript@4.4.3
npm install --save-dev https://github.com/user/repo.git
上述过程可能因你使用的具体仓库而略有不同,但基本思路是找到并找到包含 package.json 文件的文件,然后利用提供的 npm 包管理工具进行组件导入、配置和编译。
Vue CLI 提供了一个名为 vite-check 的插件,可以自动检测你的 package.json 文件是否符合官方模板和最佳实践,以及是否有未签名的文件:
安装 vite-check:
npm install --save-dev vite-check
配置 vite-check:
# vue.config.js
plugins: [
{
name: 'vite-check',
resolve: {
extensions: ['.ts', '.tsx', '.json'],
alias: {
'@': path.resolve(__dirname, '../node_modules/@vue/cli-plugin-vue'),
},
plugins: [
'@vue/cli-plugin-eslint',
'@vue/cli-plugin-router',
'@vue/cli-plugin-vuex',
'@vue/cli-plugin-tsc',
'@vue/babel-helper',
'@vue/core',
'@vue/compiler-sfc',
'@vue/test-utils',
'@vue/vite-engine',
'@vue/web-components/babel-preset-react',
'@vue/json-schema-resolver',
'@vue/reactivity',
'@vue/typescript',
'@vue/yaml-loader',
'@vue-yamldll',
'@vue-yaml-merge-stream',
'@vue/xsrf-signer',
],
},
beforeBuild: async () => {
const packageJsonPath = path.join(__dirname, '../package.json');
if (
!await fs.existsSync(packageJsonPath) ||
!await fs.statSync(packageJsonPath).isFile()
) {
throw new Error(`Package.json not found at ${packageJsonPath}`);
}
await viteCheck.check(file: packageJsonPath);
},
},
],
运行 yarn dev 命令,确保 vite-check 插件成功识别并修复非签名 package.json 文件:
yarn dev
此时,Vue CLI 会自动构建并部署你的项目,确保 package.json 文件是符合规范的,且包含已签名的文件。
如果你遇到其他问题或你对特定环节有疑问,例如引入第三方库、处理服务端逻辑等,可以提供更多的上下文信息和具体需求,以便于我提供更准确的解决方案。同时,对于一些复杂的 Vue CLI 配置或依赖关系管理,你也可以查阅 Vue CLI 文档或参考相关示例来获取更详尽的帮助。