
Research
/Security News
Fake imToken Chrome Extension Steals Seed Phrases via Phishing Redirects
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.
systemjs-plugin-vue
Advanced tools
SystemJS plugin for Vue single file components
This plugin is only tested with jspm 0.17+ and Vue.js 2.0+.
jspm install npm:vue@2.0.0-alpha.5
jspm install --dev npm:systemjs-plugin-vue
System.config({
"meta": {
"*.vue": {
"loader": "systemjs-plugin-vue"
}
}
})
You can use this vue-cli template to scaffold an example project.
ES2015 by default (requires systemsjs-plugin-babel)
lang="xxx" pre-processors
Scoped CSS
PostCSS support
CSS are automatically extracted across all components and injected as a single <style> tag
This doesn't work for in-browser JIT compilation due to multiple Node dependencies. Use jspm bundle -wid during development, it's faster anyway.
SystemJS' hot reload mechanism is quite limiting and it's currently not possible to support the same level of hot-reload available in vue-loader and vueify.
To enable a pre-processor, you need to install the corresponding pre-processor module via npm, not jspm. Example:
npm install less --save-dev
<style lang="less">
/* use less! */
</style>
These are the preprocessors supported out of the box:
node-sass, use sass in config section)coffee in config section)You can add a Vue section in your SystemJS config:
System.config({
vue: {
// options
}
})
Or, alternatively, create a vue.config.js file at the root of your project, and export the configuration object.
Just add a nested object under vue:
System.config({
vue: {
less: {
paths: [...] // custom less @import paths
}
}
})
You can provide custom lang compilers under the compilers option. It is recommended to use vue.config.js for custom compilers, and in most cases you will want to import your Node dependencies as raw Node modules:
// vue.config.js
export default {
compilers: {
'my-lang' (raw, filename) {
return System.import('@node/my-lang').then(myLang => {
return myLang.compile(raw) // assumes returning a promise
})
}
}
}
Use vue.postcss in your SystemJS config file. The option can be:
An array of plugins. Each plugin can either be a string module name or an array with the first element being the module name and the second element being an options object to be passed to that plugin.
Example:
System.config({
vue: {
postcss: [
'postcss-nested',
['autoprefixer', { browsers: 'last 2 versions' }]
]
}
})
An object containing options (passed to postcss.process()) and plugins. The parser and stringifier options can also be string module names and will be resolved automatically.
Example:
System.config({
vue: {
postcss: {
options: {
parser: 'sugarss'
},
plugins: [...]
}
}
})
If using vue.config.js, you can also directly provide the imported plugins instead of string module names.
FAQs
SystemJS plugin for single file Vue components
We found that systemjs-plugin-vue 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
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.

Security News
Latio’s 2026 report recognizes Socket as a Supply Chain Innovator and highlights our work in 0-day malware detection, SCA, and auto-patching.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.