κ°μΈ νλλ₯Ό μ¬μ©νλλ‘ μ½λλ₯Ό μ
κ·Έλ μ΄λνλ©΄ λΉλ μ λ€μμ μ»μ΅λλ€.
Error: Unexpected character '#' (Note that you need plugins to import files that are not JavaScript)
μ¬κΈ°μμ μμΈν μμ보기
μ§μνμ§ μλ κ²μ²λΌ '#'μ λͺ¨λ₯΄λμ?
κ·Έλ₯ κΆκΈν΄μμ. κ·Έλ μ§ μμΌλ©΄ μ€λ₯κ° λ°μν©λλ€.
ννΈλ μ μμ ν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€!
νμ΄νμ€ν¬λ¦½νΈ 3.8.3,
tslint 5.20.1
import typescript from 'rollup-plugin-typescript2'
import pkg from './package.json'
let defaults = { compilerOptions: { declaration: true } };
let override = { compilerOptions: { declaration: false } };
export default {
input: 'src/index.ts',
output: [
{
file: pkg.main,
format: 'cjs',
},
{
file: pkg.module,
format: 'es',
},
],
external: [
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
],
plugins: [
typescript({
tsconfigDefaults: defaults,
tsconfig: "tsconfig.json",
tsconfigOverride: override
})
],
}
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"declaration": true,
"declarationDir": "./dist",
"outDir": "./dist",
"importHelpers": true,
"noImplicitAny": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"skipLibCheck": true,
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"index.ts",
"src/**/*.ts",
"src/**/*.tsx",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
],
}
{
"name": "@vue-polkadot/vue-keyring",
"version": "2.0.0",
"author": "Matej Nemcek <[email protected]>",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"build-bundle": "vue-cli-service build --target lib --name vue-keyring ./src/index.ts",
"build:rollup": "rollup -c",
"build:rollup:watch": "rollup -cw"
},
"main": "dist/index.js",
"module": "dist/index.es.js",
"types": "dist/index.d.ts",
"files": [
"dist/*",
"src/*",
"public/*",
"*.json",
"*.js",
"*.ts"
],
"repository": "https://github.com:vue-polkadot/vue-ui.git",
"maintainers": [
"Matej Nemcek <[email protected]>"
],
"license": "MIT",
"dependencies": {
"@polkadot/keyring": "^2.6.2",
"@polkadot/types": "^1.7.1",
"@polkadot/util": "^2.6.2",
"@polkadot/util-crypto": "^2.2.2",
"@types/store": "^2.0.2",
"@types/webpack-env": "^1.14.0",
"@vue-polkadot/vue-settings": "0.0.11",
"core-js": "^2.6.5",
"mkdirp": "^1.0.3",
"rxjs": "^6.5.2",
"store": "^2.0.12",
"tslib": "1.11.1",
"tslint": "^6.1.0",
"vue": "^2.6.10",
"vue-class-component": "^7.0.2",
"vue-property-decorator": "^8.1.0",
"vue-styled-components": "^1.4.9"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.0.5",
"@vue/cli-plugin-typescript": "^3.0.5",
"@vue/cli-service": "^3.0.5",
"rollup": "^2.1.0",
"rollup-plugin-typescript2": "^0.26.0",
"typescript": "^3.8.3",
"vue-template-compiler": "^2.6.10"
}
}
β― yarn build:rollup
yarn run v1.22.4
$ rollup -c
src/index.ts β dist/index.js, dist/index.es.js...
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/placeholder",
"moduleResolution": 2,
"allowNonTsExtensions": true
}
rpt2: parsed tsconfig: {
"options": {
"declaration": false,
"target": 99,
"module": 99,
"strict": true,
"jsx": 1,
"outDir": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/placeholder",
"importHelpers": true,
"noImplicitAny": true,
"moduleResolution": 2,
"experimentalDecorators": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring",
"skipLibCheck": true,
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"lib.esnext.d.ts",
"lib.dom.d.ts",
"lib.dom.iterable.d.ts",
"lib.scripthost.d.ts"
],
"configFilePath": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/tsconfig.json",
"noEmitHelpers": false,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"allowNonTsExtensions": true
},
"fileNames": [
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/Keyring.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/defaults.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/index.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/main.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/shims-tsx.d.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/shims-vue.d.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/types.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/accounts.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/addresses.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/contracts.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/development.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/genericSubject.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/index.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/observable/types.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/options/index.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/options/types.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/stores/Browser.ts",
"/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/options/item.tsx"
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"declaration": false,
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"declarationDir": "./dist",
"outDir": "./dist",
"importHelpers": true,
"noImplicitAny": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"skipLibCheck": true,
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"index.ts",
"src/**/*.ts",
"src/**/*.tsx",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
],
"compileOnSave": false
},
"errors": [],
"wildcardDirectories": {
"/users/wao/projects/vuepolkadot/vue-ui/packages/vue-keyring/src": 1,
"/users/wao/projects/vuepolkadot/vue-ui/packages/vue-keyring/tests": 1
},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"index.ts",
"src/**/*.ts",
"src/**/*.tsx",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"excludeSpecs": [
"node_modules"
],
"validatedIncludeSpecs": [
"index.ts",
"src/**/*.ts",
"src/**/*.tsx",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"validatedExcludeSpecs": [
"node_modules"
],
"wildcardDirectories": {
"/users/wao/projects/vuepolkadot/vue-ui/packages/vue-keyring/src": 1,
"/users/wao/projects/vuepolkadot/vue-ui/packages/vue-keyring/tests": 1
}
}
}
rpt2: typescript version: 3.8.3
rpt2: tslib version: 1.10.0
rpt2: rollup version: 2.1.0
rpt2: rollup-plugin-typescript2 version: 0.26.0
rpt2: plugin options:
{
"tsconfigDefaults": {
"compilerOptions": {
"declaration": true
}
},
"tsconfig": "tsconfig.json",
"tsconfigOverride": {
"compilerOptions": {
"declaration": false
}
},
"verbosity": 3,
"check": true,
"clean": false,
"cacheRoot": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"useTsconfigDeclarationDir": false,
"transformers": [],
"objectHashIgnoreUnknownHack": false,
"cwd": "/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring",
"typescript": "version 3.8.3"
}
rpt2: rollup config:
{
"experimentalCacheExpiry": 10,
"external": [
"@polkadot/keyring",
"@polkadot/types",
"@polkadot/util",
"@polkadot/util-crypto",
"@types/store",
"@types/webpack-env",
"@vue-polkadot/vue-settings",
"core-js",
"mkdirp",
"rxjs",
"store",
"tslib",
"tslint",
"vue",
"vue-class-component",
"vue-property-decorator",
"vue-styled-components"
],
"inlineDynamicImports": false,
"input": "src/index.ts",
"perf": false,
"plugins": [
{
"name": "rpt2"
},
{
"name": "stdin"
}
],
"strictDeprecations": false
}
rpt2: tsconfig path: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/tsconfig.json
rpt2: included:
[
"*.ts+(|x)",
"**/*.ts+(|x)"
]
rpt2: excluded:
[
"*.d.ts",
"**/*.d.ts"
]
rpt2: Ambient types:
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/shims-tsx.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/shims-vue.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/bn.js/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/color-name/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/events/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/glob/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/minimatch/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/node/ts3.2/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/normalize-package-data/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/q/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/store/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/webpack-env/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/events/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/glob/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/minimatch/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/node/ts3.2/index.d.ts
rpt2: /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/@types/q/index.d.ts
rpt2: ambient types changed, redoing all semantic diagnostics
rpt2: transpiling '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/index.ts'
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/code/cache/2e74b8aa9cf50ce50dc9c899dfd096c9e3ddef66'
rpt2: cache miss
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/syntacticDiagnostics/cache/2e74b8aa9cf50ce50dc9c899dfd096c9e3ddef66'
rpt2: cache miss
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/semanticDiagnostics/cache/2e74b8aa9cf50ce50dc9c899dfd096c9e3ddef66'
rpt2: cache miss
rpt2: dependency '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/Keyring.ts'
rpt2: imported by '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/index.ts'
rpt2: resolving './Keyring' imported by '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/index.ts'
rpt2: to '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/Keyring.ts'
rpt2: transpiling '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/src/Keyring.ts'
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/code/cache/21a1adfe02fac21a10118d177bfd0b084dd0c7b6'
rpt2: cache miss
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/syntacticDiagnostics/cache/21a1adfe02fac21a10118d177bfd0b084dd0c7b6'
rpt2: cache miss
rpt2: cache: '/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/.cache/rollup-plugin-typescript2/rpt2_1526ef49297d2998997b39723d787862a1856de8/semanticDiagnostics/cache/21a1adfe02fac21a10118d177bfd0b084dd0c7b6'
rpt2: cache miss
[!] Error: Unexpected character '#' (Note that you need plugins to import files that are not JavaScript)
src/Keyring.ts (40:11)
38:
39: #keyring?: KeyringInstance;
40: #accounts: AddressSubject = accounts;
^
41:
42: #addresses: AddressSubject = addresses;
Error: Unexpected character '#' (Note that you need plugins to import files that are not JavaScript)
at error (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:10120:30)
at Module.error (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:14557:16)
at tryParse (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:14450:23)
at Module.setSource (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:14839:33)
at /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:16717:20
at async Promise.all (index 1)
at async Promise.all (index 0)
at async Promise.all (index 0)
at async Promise.all (index 0)
at rollupInternal (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/shared/rollup.js:18126:18)
error Command failed with exit code 1.
μ΄κ²μ νλ¬κ·ΈμΈμ΄ μμ±νλ JSλ₯Ό ꡬ문 λΆμν μ μλ€κ³ λΆννλ λ‘€μ μ λλ€. μ¬κΈ°μ μ κ° μκ°νλ ν΄κ²° λ°©λ²μ΄ μμ΅λλ€: https://github.com/rollup/rollup/issues/3128
https://github.com/rollup/rollup/issues/3128#issuecomment -534144483μ μλνμ΅λλ€.
λ‘€μ .config.js
import acornPrivateFields from 'acorn-private-class-elements'
import typescript from 'rollup-plugin-typescript2'
import pkg from './package.json'
let defaults = { compilerOptions: { declaration: true } };
let override = { compilerOptions: { declaration: false } };
export default {
input: 'src/index.ts',
output: [
{
file: pkg.main,
format: 'cjs',
},
{
file: pkg.module,
format: 'es',
},
],
external: [
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
],
acornInjectPlugins: [
acornPrivateFields()
],
plugins: [
typescript({
tsconfigDefaults: defaults,
tsconfig: "tsconfig.json",
tsconfigOverride: override,
// verbosity: 3,
})
],
}
μ°μΆ
β― yarn build:rollup
yarn run v1.22.4
$ rollup -c
[!] TypeError: Cannot read property 'prototype' of undefined
TypeError: Cannot read property 'prototype' of undefined
at module.exports (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/acorn-private-class-elements/index.js:12:14)
at Object.<anonymous> (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/rollup.config.js:30:5)
at Module._compile (internal/modules/cjs/loader.js:1157:30)
at Object.require.extensions.<computed> [as .js] (/Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/bin/rollup:824:24)
at Module.load (internal/modules/cjs/loader.js:1001:32)
at Function.Module._load (internal/modules/cjs/loader.js:900:14)
at Module.require (internal/modules/cjs/loader.js:1043:19)
at require (internal/modules/cjs/helpers.js:77:18)
at /Users/wao/Projects/vuepolkadot/vue-ui/packages/vue-keyring/node_modules/rollup/dist/bin/rollup:831:32
error Command failed with exit code 1.
acornPrivateFields
μ μ΄λκ°μμ κ°μ Έμμ΅λκΉ?
κ°μ μ€λ₯λ₯Ό μλνμ΅λλ€. λ΄ κ΅¬μ±μ λ€μκ³Ό κ°μ΅λλ€.
`"acorn-class-fields"μμ acornClassField κ°μ Έμ€κΈ°
"acorn-private-class-elements"μμ acornClassElement κ°μ Έμ€κΈ°
"acorn-static-class-features"μμ acornStaticClassFeatures κ°μ Έμ€κΈ°
"acorn-private-methods"μμ acornPrivateMethods κ°μ Έμ€κΈ°
κΈ°λ³Έ λ΄λ³΄λ΄κΈ° {
μ
λ ₯: ['src/ext/src/bg/background.js'],//, 'src/ext/src/browser_action/main.js'],
μΆλ ₯: {
λλ ν 리: 'dist/ext/src/bg',
//νμΌ: 'ext/src/bg/background-dist.js',
νμ: 'es',
νλ¬κ·ΈμΈ: []
},
acornInjectνλ¬κ·ΈμΈ: [
acornClassFields(),`
λλ μ»λ€
[!] TypeError: Cannot read property 'prototype' of undefined
TypeError: Cannot read property 'prototype' of undefined
at module.exports (C:\Users\thear\Documents\Programming\AutoStamperThetis\node_modules\acorn-class-fields\node_modules\acorn-private-class-elements\index.js:12:14)
@ezolenko μ, rollup.config.jsμ μμ΅λλ€. μμ μ§μ μ ν μ€ λ μΆκ°νλ κ²μ μμμ΅λλ€ πββ
λλ λν μ΄μ μλνμ΅λλ€ https://www.npmjs.com/package/@rollup/plugin -typescript
λ€λ₯Έ μ€λ₯κ° μμμ§λ§ μ΅μν λΉκ³΅κ°μμ μκ³ μμ΅λλ€.
κ·Έλ¬λ es5μμ λμμ λ λμ κ²μΌλ‘ μ΄λνμ λ #μ λ€μ μ μ μμ΅λλ€.
λμκ² κ·Έκ²μ νμλ λμ°λ―Έκ° λΉ μ§ κ²μ²λΌ 보μ
λκΉ?
μ λ κ°μΈ νλλ₯Ό μ²μ μ νκ³ μ
μ€νΈλ¦Όμμ λ³ν©νλ μ€μ
λλ€ π
@ezolenko @0biWanKenobi μ΄κ²μ΄ λ¬Έμ κ° λ μ μμ΅λκΉ? https://github.com/acornjs/acorn-private-class-elements/pull/10
@yangwao κ·Έκ²μ λ΄κ° κ²ͺκ³ μλ λ λ€λ₯Έ λ¬Έμ μ΄κ³ μ λ κ±°κΈ°μ λκΈμ λ¬μμ΅λλ€. μ΄ κ²½μ° μ€λ₯λ λ‘€μ μ ꡬμ±ν λ κ΄νΈκ° νμνμ§ μλ€λ κ²μ΄λ―λ‘ λ€μκ³Ό κ°μ΅λλ€.
acornInjectPlugins: [
acornClassFields
]
κ°λ κΈΈμ λλ€. μ¬μ ν # μ€λ₯λ‘ νμλμ§λ§ .. νμ§λ§ 그건 λ λ€λ₯Έ μ΄μΌκΈ°μ λλ€.
κ°μ₯ μ μ©ν λκΈ
@yangwao κ·Έκ²μ λ΄κ° κ²ͺκ³ μλ λ λ€λ₯Έ λ¬Έμ μ΄κ³ μ λ κ±°κΈ°μ λκΈμ λ¬μμ΅λλ€. μ΄ κ²½μ° μ€λ₯λ λ‘€μ μ ꡬμ±ν λ κ΄νΈκ° νμνμ§ μλ€λ κ²μ΄λ―λ‘ λ€μκ³Ό κ°μ΅λλ€.
κ°λ κΈΈμ λλ€. μ¬μ ν # μ€λ₯λ‘ νμλμ§λ§ .. νμ§λ§ 그건 λ λ€λ₯Έ μ΄μΌκΈ°μ λλ€.