Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
fullstack-taro-app-template
Advanced tools
This repository is a full-stack sample mini program based on Taro that creates a simple extended architecture.
This repository is a full-stack sample mini program based on Taro that creates a simple extended architecture (Redux, Asynchronous requests etc.), and provides the foundational services, components, and plumbing needed to get a basic application up and running.
English Documentation | 中文版说明文档
List my progress here:
Function Block | Supports |
---|---|
Navigation | ✔ |
Parameter Acquisition | ✔ |
Authorization | ✔ |
Login | ✔ |
Register | ✔ |
State Management | ✔ |
Network Requests | ✔ |
Upload | ✔ |
File System (for image) | ✔ |
Link Jump | ✔ |
Scroll Trigger | ✔ |
Canvas | ✔ |
HTML5 Tags | ✔ |
DragDrop (for uploaded image) | ✔ |
Pagination | ✔ |
Cloud Hosting | ✔ |
WebView | ✔ |
Basic Taro-UI | ✔ |
fullstack-taro-app-template/
├── README.md
├── LICENSE
├── project.config.json # Mini Program Project Configuration
├── project.tt.json
├── babel.config.js
├── tsconfig.json
├── package-lock.json
├── package.json # Node.js manifest
├── screenshots/ # screenshots
├── cloud-hosting/ # Deploy backend server using Cloud Hosting
├── dist/ # Packaged Directory
├── config # Compile configuration directory
│ ├── dev.js # Development Mode Configuration
│ ├── index.js # Default Configuration
│ └── prod.js # Production Mode Configuration
├── src
│ ├── app.config.ts # Global Configuration
│ ├── app.scss # Global CSS
│ ├── app.tsx # Entry Component
│ ├── index.html # H5 Entry HTML
│ └── pages # Page Component
│ │ └── index
│ │ ├── index.config.ts # Page Configuration
│ │ ├── index.scss # Page CSS
│ │ └── index.jsx # Page Component,If the Vue project, this file is index.vue
│ │
│ ├── status/ # Using Redux to manage folders of state across components
│ ├── assets/
│ ├── config/
│ ├── components/
│ └── ...
└──
Step 1. Clone the repo to get all source files including build scripts:
$ git clone git://github.com/xizon/fullstack-taro-app-template.git
Step 2. First, using an absolute path into your "fullstack-taro-app-template/"
folder directory.
$ cd /{your_directory}/fullstack-taro-app-template
Step 3. Before doing all dev stuff make sure you have Node 14+
installed. After that, run the following code in the main directory to install the node module dependencies.
$ sudo npm install
Step 4. Test the application, such as the command
$ npm run dev:h5
$ npm run build:h5
Step 5 (Optional). Unit Testing
$ npm run test
Step 1. You will need to have node, Taro CLI setup on your machine.
# Install Node globally
$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
$ sudo yum install -y nodejs
$ node -v
# Install Taro CLI globally
$ sudo npm i -g @tarojs/cli
$ taro -v
Step 2. Install the Taro template
$ cd /{your_directory}
$ sudo taro init
First install a dependency:
$ npm i babel-plugin-module-resolver
Then:
config/index.js
alias: {
'@': path.resolve(__dirname, '..', 'src'),
'@/config': path.resolve(__dirname, '..', 'src/config'),
'@/components': path.resolve(__dirname, '..', 'src/components'),
'@/status': path.resolve(__dirname, '..', 'src/status'),
'@/utils': path.resolve(__dirname, '..', 'src/utils'),
'@/assets': path.resolve(__dirname, '..', 'src/assets')
},
package.json
"jest": {
"testEnvironment": "jsdom",
"moduleNameMapper": {
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
"^@/(.*)": "<rootDir>/src/$1",
"^@/config/(.*)": "<rootDir>/src/config/$1",
"^@/components/(.*)": "<rootDir>/src/components/$1",
"^@/status/(.*)": "<rootDir>/src/status/$1",
"^@/utils/(.*)": "<rootDir>/src/utils/$1",
"^@/assets/(.*)": "<rootDir>/src/assets/$1"
},
"transform": {
"^.+\\.(js|jsx)$": "babel-jest",
"^.+\\.(ts|tsx)?$": "ts-jest"
}
},
Jest is not installed by default, if necessary, please execute the following code:
$ npm i @testing-library/jest-dom @types/jest jest ts-jest --save-dev
tsconfig.json
"baseUrl": "./src",
"paths": {
"@/*": ["*"],
"@/config/*": ["config/*"],
"@/components/*": ["components/*"],
"@/status/*": ["status/*"],
"@/utils/*": ["utils/*"],
"@/assets/*": ["assets/*"]
},
babel.config.js
"plugins": [
["module-resolver", {
"root": ["./src"],
"alias": {
"@/": "./src",
"@/config": "./src/config",
"@/components": "./src/components",
"@/status": "./src/status",
"@/utils": "./src/utils",
"@/assets": "./src/assets"
}
}]
]
[object Object] is not a PostCSS plugin Error: pages/index/index.wxss from Css Minimizer plugin
Solution:
$ npm i postcss --save-dev
Uncaught ReferenceError: $RefreshReg$ is not defined
Solution:
Disable fast refresh, and change the configuration from config/index.js
and babel.config.js
.
config/index.js
h5: {
devServer: {
hot: false
}
}
babel.config.js
presets: [
['taro', {
framework: 'react',
hot: false
}]
]
Licensed under the MIT.
FAQs
This repository is a full-stack sample mini program based on Taro that creates a simple extended architecture.
We found that fullstack-taro-app-template demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.